Первые 16 бит в заголовке tcp (rfc793) предназначены для порта источника, верно? Следующие 16 — для порта назначения. Когда я запускаю, tcpdump -xx
я могу распознавать MAC-адреса ящиков в моей системе. Означает ли это, что «порты» являются MAC-адресами?
решение1
Нет, это не так.
Независимо от названия, tcpdump захватывает пакеты на самом низком возможном уровне — он не ограничивается только TCP.
При использовании -xx
tcpdump выводитуровень связизаголовки всех пакетов, поэтому первые 4 байта вывода не являются TCP — они являются частью кадра Ethernet.
Даже с простым -x
tcpdump выведет заголовок IP перед TCP/UDP.
Если вы хотите увидеть структуру пакета, используйте Wireshark — он отобразит каждый пакет в виде дерева и выделит определенные байты для каждого значения.