В настоящее время я работаю над проектом, который создает необработанные пакеты из данных уровня потока сети.К сожалению, когда я отправляю свои пакеты через сетевой интерфейс локального хоста, я получаю что-то вроде следующего:
16: 31: 03.000624 00: 01: 02: 03: 04: 05> 00:09:08: 07: 06: 05, ethervip IPv4 (0x0800), длина 54: IP0
В то время как обычный записанный пакет tcpdump будет выглядеть так:
16: 31:03.000624 00: 01: 02: 03: 04: 05> 00: 09: 08: 07: 06: 05, ethertype IPv4 (0x0800), длина 54: 172.217.14.238> 10.0.0.204: эхо-ответ ICMP, id 19577, seq1, длина 64
Мой вопрос заключается в том, что может привести к тому, что остальная часть информации, связанной с пакетом, будет заменена этим «IP0»?
Я следовал порядку сетевых байтов в меру своих возможностей, используя htons и htonl, когда это требуется от меня, а также inetaddr ().