почему tcpdump показывает 16 байтов «0x00» в конце пакетов UDP?

Я использую Tcpdump на другой машине с другой версией. И я заметил, что в конце пакетов UDP в более высокой версии tcpdump есть 16 0x00 байтов. Кто-нибудь знает, почему?

Машина А с

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  ....@[email protected]`..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  [email protected]
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                                  ..)

Машина Б с

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  [email protected]:.8...
0x0050:  0010 a7f0 f7d2 0518 a4af e8e6 0e20 0028  ...............(
0x0060:  0930 0038 8601 4000 4a00 1213 0a11 0a0f  [email protected].......
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

person chen    schedule 19.01.2018    source источник
comment
Это похоже на ошибку. Если вы посмотрите на длину UDP и длину дейтаграммы IP, вывод должен заканчиваться на 0x95, что соответствует байту 0x29.   -  person David Hoelzer    schedule 19.01.2018


Ответы (1)


Это похоже на ошибку. Если вы посмотрите на длину UDP и длину дейтаграммы IP, вывод должен заканчиваться на 0x95, что соответствует 0x29 байту.

Длина IP-адреса в пакете — 0x0095, что составляет 149 байт.

Длина UDP — 0x0081, что равно 129.

20-байтовый IP-заголовок + 129 байт данных UDP приводят нас к 149, что соответствует 0x95. TCPDump не должен показывать эти последние несколько байтов.

person David Hoelzer    schedule 19.01.2018
comment
Кстати, вы смотрели те же пакеты с Wireshark? Мне любопытно посмотреть, что он показывает. Существует незначительная вероятность того, что кадрирование Ethernet соответствует стандарту 802.2 и указывает на то, что длина данных с точки зрения кадра Ethernet больше, чем установленный IP. - person David Hoelzer; 21.01.2018