Ubuntu 理解tcpdump';s ip数据包有效负载输出

Ubuntu 理解tcpdump';s ip数据包有效负载输出,ubuntu,ip,tcpdump,payload,Ubuntu,Ip,Tcpdump,Payload,当我连接到ftp服务器时,我在ubuntu上使用tcpdump捕获IP数据包。我得到了输出,但我没有完全理解输出。以下是输出: 20:36:59.447287 IP 195.144.107.198.21 > 192.168.0.103.38358: Flags [P.], seq 1:15, ack 6, win 257, options [nop,nop,TS val 118776594 ecr 2892624995], length 14: FTP: 221 Goodbye. 0x00

当我连接到ftp服务器时,我在ubuntu上使用
tcpdump
捕获IP数据包。我得到了输出,但我没有完全理解输出。以下是输出:

20:36:59.447287 IP 195.144.107.198.21 > 192.168.0.103.38358: Flags [P.], seq 1:15, ack 6, win 257, options [nop,nop,TS val 118776594 ecr 2892624995], length 14: FTP: 221 Goodbye.
0x0000: 4500 0042 67fb 4000 6906 b954 c390 6bc6 E..Bg.@.i..T..k.
0x0010: cQa8 0067 0015 95d6 b5d5 9b80 8f8f ed64 ...g...........d
©x0020: 8018 0101 273e 0000 0101 080a 0714 6312 ....'>........c.
0x0030: ac69 £463 3232 3120 476f 6f64 6279 652e .i.c221.Goodbye.
0x0040: Od0a
这是我关闭与ftp服务器的连接时捕获的数据包。我理解左边的IP报头,但我没有完全理解有效负载。“再见”消息是在我退出ftp服务器时显示的,但它的其余部分是什么?我说的是:

E..Bg.@.i..T..k.
...g...........d
....'>........c.
.i.c221.Goodbye.
..

这些句点和随机字符(除了“再见”)是什么?

这些点中的每一个都是不可打印的字符。当ASCII最初开发时,0-31是控制字符,其中一些字符设计用于控制消息。127是delete,xxd也将其视为控制字符。当由xxd解释时,这些都将显示为

您可以通过将0到127之间的每个字符保存在一个文件
ascii\u chars

seq 0 127 |读取n时;执行printf“\x$(printf%x$n)”$n>>ascii字符;完成
如果我们将其传递给xxd,我们可以看到前两行(0-31)和127是

$ xxd ascii_chars
00000000: 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f  ................
00000010: 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f  ................
00000020: 2021 2223 2425 2627 2829 2a2b 2c2d 2e2f   !"#$%&'()*+,-./
00000030: 3031 3233 3435 3637 3839 3a3b 3c3d 3e3f  0123456789:;<=>?
00000040: 4041 4243 4445 4647 4849 4a4b 4c4d 4e4f  @ABCDEFGHIJKLMNO
00000050: 5051 5253 5455 5657 5859 5a5b 5c5d 5e5f  PQRSTUVWXYZ[\]^_
00000060: 6061 6263 6465 6667 6869 6a6b 6c6d 6e6f  `abcdefghijklmno
00000070: 7071 7273 7475 7677 7879 7a7b 7c7d 7e7f  pqrstuvwxyz{|}~.
$xxd ascii\u字符
00000000:0001 0203 0405 0607 0809 0a0b 0c0d 0e0f。。。。。。。。。。。。。。。。
00000010:1011213 1415 1617 1819 1a1b 1c1d 1e1f。。。。。。。。。。。。。。。。
00000020:2021223242526272892A2B2C2D22F!"#$%&'()*+,-./
000000 30:3031 3233 3435 3637 3839 3a3b 3c3d 3e3f 0123456789;?
000000 40:4041 4243 4445 4647 4849 4a4b 4c4d 4e4f@ABCDEFGHIJKLMNO
000000 50:5051 5253 5455 5657 5859 5a5b 5c5d 5e5f PQRSTUVWXYZ[\]^_
000000 60:6061 6263 6465 6667 6869 6a6b 6c6d 6e6f`abcdefghijklmno
00000070:707172737475767778797a7b 7c7d 7e7f pqrstuvwxyz{}~。

请勿发布代码、数据、错误消息等的图像-将文本复制或键入问题。是否有办法查看这些字符?我正在回答您提出的问题(如果答案为,请标记为答案)。您可以在左侧看到十六进制格式的控制字符值,这是大多数用途所需的。