![понимание заголовка tcp](https://rvso.com/image/1336317/%D0%BF%D0%BE%D0%BD%D0%B8%D0%BC%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B0%20tcp.png)
Первые 16 бит в заголовке tcp (rfc793) предназначены для порта источника, верно? Следующие 16 — для порта назначения. Когда я запускаю, tcpdump -xx
я могу распознавать MAC-адреса ящиков в моей системе. Означает ли это, что «порты» являются MAC-адресами?
решение1
Нет, это не так.
Независимо от названия, tcpdump захватывает пакеты на самом низком возможном уровне — он не ограничивается только TCP.
При использовании -xx
tcpdump выводитуровень связизаголовки всех пакетов, поэтому первые 4 байта вывода не являются TCP — они являются частью кадра Ethernet.
Даже с простым -x
tcpdump выведет заголовок IP перед TCP/UDP.
Если вы хотите увидеть структуру пакета, используйте Wireshark — он отобразит каждый пакет в виде дерева и выделит определенные байты для каждого значения.