2016-11-06 10 views
0

Я бег tcpdump в двух идентичных машинах Linux с помощью этой команды:`tcpdump` показывает различную длину для того же ARP пакета

tcpdump -i enp0s8 -nn -XX -vvv 

Во время запроса ARP в машине отправителя я вижу:

20:03:29.113813 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.1 tell 10.0.0.2, length 28 
0x0000: 0800 27bb f251 0800 27cf ce8e 0806 0001 ..'..Q..'....... 
0x0010: 0800 0604 0001 0800 27cf ce8e 0a00 0002 ........'....... 
0x0020: 0000 0000 0000 0a00 0001     .......... 

но в машине назначения:

20:03:29.114928 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.1 tell 10.0.0.2, length 46 
0x0000: 0800 27bb f251 0800 27cf ce8e 0806 0001 ..'..Q..'....... 
0x0010: 0800 0604 0001 0800 27cf ce8e 0a00 0002 ........'....... 
0x0020: 0000 0000 0000 0a00 0001 0000 0000 0000 ................ 
0x0030: 0000 0000 0000 0000 0000 0000   ............ 

Почему пакет zerofilled повторно ноющая длина 46?

ответ

0

Само сообщение ARP имеет длину 28 байтов, точно так же, как вы указали. Теперь, при правильных реализациях Ethernet, исходящий кадр должен иметь длину не менее 64 байтов. Однако есть некоторые причуды, - устройство, инициировавшее это сообщение ARP, само может быть отправлено в немаркированном фрейме или в фрейме с отметкой 802.1Q. Размер тега всегда учитывается по отношению к общему объему кадра, что приводит к разным прокладкам:

 Смежные вопросы

  • Нет связанных вопросов^_^