понимание трассировки tcpdump с заголовками Ethernet - PullRequest
3 голосов
/ 28 сентября 2011

У меня есть два пакета в моем журнале tcpdump, и я понятия не имею, что означают «P» и «In» во втором столбце. Может ли кто-нибудь объяснить, что они имеют в виду?

00:43:44.896482   P 00:00:ac:12:80:01 ethertype IPv4 (0x0800), length 76: 172.18.128.1.ssh > 155.xx.xx.xx.56365: S 1308033114:1308033114(0) ack 1315850475 win 5792 <mss 1460,sackOK,timestamp 12196173 122040733,nop,wscale 8>

00:43:44.896482  In 00:00:ac:12:80:01 ethertype IPv4 (0x0800), length 76: 172.18.128.1.ssh > 155.yy.yy.yy.4242: S 1308033114:1308033114(0) ack 1315850475 win 5792 <mss 1460,sackOK,timestamp 12196173 122040733,nop,wscale 8>

Обратите внимание, что dest IP меняется из-за этой вещи "P".

1 Ответ

5 голосов
/ 29 сентября 2011

Получил следующий ответ из списка рассылки tcpdump-worker от Гая Харриса.

«Любое» устройство Linux использует заголовок канального уровня DLT_LINUX_SLL / LINKTYPE_LINUX_SLL, который включает в себя информацию, которую вы получаете из «recvfrom () "вызов на сокете PF_PACKET, который включает в себя адрес источника, но не адрес назначения пакета, поэтому единственным адресом канального уровня, который вы видите, является адрес источника.

Он также включает некоторые флаги, которыеукажите, как был получен пакет:

  • "In" - пакет был одноадресным к хосту;

  • "B" - пакет былшироковещательный;

  • "M" - пакет не был передан, но был многоадресным;

  • "P" - пакет был одноадресным для некоторых другой хост и этот хост получил его, потому что сетевой адаптер находился в случайном режиме;

  • "Out" - пакет был отправлен хостом и "обернут"и доставлено в гнездо PF_PACKET.

Способ, которым сетевой стек Linux определяет разницу между "In", "B", "M" и "P", я думаю, просматривая адрес назначения пакета и выясняя, является ли он широковещательным адресом.(ff: ff: ff: ff: ff: ff в сетях, использующих адреса IEEE MAC-48), многоадресный адрес (с установленным битом «group», в сетях, использующих адреса IEEE MAC-48), или адрес адаптерана котором это получено. бит удивительно, что он обнаружил случайный пакет на «любом» устройстве, поскольку само «любое» устройство не может быть переведено в случайный режим, но, возможно, конкретный интерфейс, с которого этот пакетбыл получен в случайном режиме по какой-то другой причине.

...