2017-04-16 10 views
0

ARP応答のみをフィルタリングするためのpcapフィルタを作成しようとしています。 wiresharkで私は使用するARP応答パケットのc/C++ pcapフィルタ式

arp.opcode==2 

それは完全に動作します。しかし、pcap_compile関数で使用すると、例外構文エラーが発生します。私もこれらの変種を試しました:

arp.opcode = 2 
arp.opcode 2 
arp opcode 2 
arp.reply 
arp reply 

と何も動作していないようです。私はそれをgoogleしようとしましたが、成功しませんでした。その特定のパケットをフィルタリングすることさえ可能でしょうか?

+2

CまたはC++のどちらかを使用してください。両方でポストをタグ付けしないでください。それ以外のコードを追加してください。 –

+0

pcapフィルタは、Wiresharkがサポートする式ほど洗練されていません。例: https://linux.die.net/man/7/pcap-filter。あなたは、arpトラフィックのフィルタリングだけでなく、コード内の返信をチェックする方が良いかもしれません。さもなければバイトレベルでarpパケットフォーマットを調査する必要があるでしょう。 –

+0

@AlanStokesはい、私は考えました。私はそれをもっと簡単にしたいと思っていましたが、私はそれができないと思います。返信ありがとう! –

答えて

0

私はWikipediaからパケット構造に基づいて、これは動作するはず疑う:また、この答えによって提案されています

arp [6:2] = 2 

https://stackoverflow.com/a/40199540/212870

(それはあなたが答えを見つけ出す一度ルックアップするために簡単です、残念ながら。

関連する問題