Данные WinPCap становятся усеченными

Работая над разбором пакетов Arp, я обнаружил, что это хорошая проблема.

при получении пакета Arp я анализировал IP-адрес цели.

У меня есть c0 a8 в моем шестнадцатеричном тупике, но после этого он заканчивается. Я пропускаю данные! Я вижу данные в Wireshark, но не получаю данные через WinPCap.

Я еще не сталкивался с этой проблемой раньше. Есть идеи ТАК? Пока что нет ошибок доступа к памяти. Наверное, просто удача.:Икс

РЕДАКТИРОВАТЬ: мой основной взгляд на обработку пакетов из примера pktdump_ex.

Вот линия времени

while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)

После того, как это выполнено, snalen - 2b.

1 ответ

Как отмечено в его комментарии, это пахнет как неисправная оснастка конфигурации. Если вы посмотрите на apidoc winpcap api docs pcap_open (), он говорит:

snaplen: длина пакета, который должен быть сохранен. Для каждого пакета, полученного фильтром, только первые байты "snaplen" сохраняются в буфере и передаются пользовательскому приложению. Например, snaplen, равный 100, означает, что сохраняются только первые 100 байтов каждого пакета.

В качестве объяснения второго параметра pcap_open. Если вы не предоставите более подробные фрагменты кода для работы, это самый близкий к ответу, который мы получим.

Другие вопросы по тегам