【问题标题】:why does tcpdump shows 16 '0x00' bytes at the end of UDP packets?为什么 tcpdump 在 UDP 数据包末尾显示 16 个 '0x00' 字节?
【发布时间】:2018-01-19 04:41:25
【问题描述】:

我在不同版本的不同机器上使用 Tcpdump。 而且我注意到在更高的 tcpdump 版本中,UDP 数据包的末尾有 16 个 0x00 字节。有人知道为什么吗?

带有

的机器 A

tcpdump 版本 4.1-PRE-CVS_2012_03_26

libpcap 版本 1.0.0

12:12:26.363084 IP 100.65.96.185.38431 > 10.100.71.207.54404: UDP, length 121
0x0000:  3897 d6b1 e3c1 5452 0092 f8ae 0800 4500  8.....TR......E.
0x0010:  0095 b0fd 4000 4011 722d 6441 60b9 0a64  ....@.@.r-dA`..d
0x0020:  47cf 961f d484 0081 17c0 2800 0000 0000  G.........(.....
0x0030:  0000 6f08 6412 6b08 0110 5318 0020 ebb1  ..o.d.k...S.....
0x0040:  d6b9 0730 a7f0 f7d2 0538 9891 b5d0 0a40  ...0.....8.....@
0x0050:  9891 b5d0 0a48 0172 3a0a 380a 1b08 0010  .....H.r:.8.....
0x0060:  a7f0 f7d2 0518 a4af e8e6 0e20 0028 0930  .............(.0
0x0070:  0038 8601 4000 4a00 1213 0a11 0a0f 6a61  .8..@.J.......ja
0x0080:  736f 6e2d 636f 6e66 2d74 6573 7412 044a  son-conf-test..J
0x0090:  0208 0080 0101 8801 0090 01b4 b3ee 7e98  ..............~.
0x00a0:  0101 29                                  ..)

带有

的机器B

tcpdump 版本 4.5.1

libpcap 版本 1.5.3

12:12:26.353267 IP 100.65.96.185.38431 > 10.100.71.207.54404: UDP, length 121
0x0000:  4560 0095 b0fd 4000 3a11 77cd 6441 60b9  E`....@.:.w.dA`.
0x0010:  0a64 47cf 961f d484 0081 8065 2800 0000  .dG........e(...
0x0020:  0000 0000 6f08 6412 6b08 0110 5318 0020  ....o.d.k...S...
0x0030:  ebb1 d6b9 0730 a7f0 f7d2 0538 9891 b5d0  .....0.....8....
0x0040:  0a40 9891 b5d0 0a48 0172 3a0a 380a 1b08  .@.....H.r:.8...
0x0050:  0010 a7f0 f7d2 0518 a4af e8e6 0e20 0028  ...............(
0x0060:  0930 0038 8601 4000 4a00 1213 0a11 0a0f  .0.8..@.J.......
0x0070:  6a61 736f 6e2d 636f 6e66 2d74 6573 7412  jason-conf-test.
0x0080:  044a 0208 0080 0101 8801 0090 01b4 b3ee  .J..............
0x0090:  7e98 0101 2900 0000 0000 0000 0000 0000  ~...)...........
0x00a0:  0000 0000 00

【问题讨论】:

  • 这看起来像一个错误。如果查看 UDP 长度和 IP 数据报长度,输出应该在 0x95 结束,即 0x29 字节。

标签: tcpdump libpcap


【解决方案1】:

这看起来像一个错误。如果查看 UDP 长度和 IP 数据报长度,输出应该以 0x95 结束,即 0x29 字节。

数据包中的IP长度为0x0095,即149字节。

UDP 长度为0x0081,即129。

20 字节的 IP 头 + 129 字节的 UDP 数据将我们带到 149,它与 0x95 匹配。 TCPDump 不应该显示最后几个字节。

【讨论】:

  • 顺便问一下,你用 Wireshark 查看过相同的数据包吗?我很好奇它显示了什么。以太网帧为 802.2 的可能性很小,这表明从以太网帧的角度来看,数据长度比 IP 设置的要长。
猜你喜欢
  • 2016-01-27
  • 1970-01-01
  • 2012-01-21
  • 2017-10-21
  • 1970-01-01
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多