0

Arp パケットの解析に取り組んでいると、この素晴らしい問題が見つかりました。

Arp パケットを受信したときに、ターゲットの IP アドレスを解析していました。

16 進ダムに c0 a8 がありますが、その後終了します。データがありません!Wireshark にデータが表示されますが、WinPCap からデータを取得できません。

私はまだこの問題に遭遇したことがありません。何かアイデアはありますか?ただし、これまでのところメモリアクセスエラーはありません。おそらくただの運です。:バツ

編集: パケットを処理するための私の主な外観は、例の pktdump_ex からのものです。

これがwhile行です

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

それが実行された後、snalen は 2b です。

4

1 に答える 1

2

彼のコメントで述べられているように、これは不完全なスナップレン構成のようなにおいがします。winpcap api docs pcap_open()apidocを見ると、次のように記載されています。

snaplen、:保持する必要のあるパケットの長さ。フィルタによって受信されたパケットごとに、最初の「snaplen」バイトのみがバッファに格納され、ユーザーアプリケーションに渡されます。たとえば、snaplenが100に等しい場合は、各パケットの最初の100バイトのみが保存されることを意味します。

pcap_openの2番目のパラメーターの説明として。使用するより詳細なコードスニペットを提供しない限り、これは私たちが得る答えに最も近いものです。

于 2010-02-16T09:33:20.173 に答える