Ich versuche, pcap-Filter nur zum Filtern von ARP-Antworten zu erstellen. In Wireshark verwende ichc/C++ pcap-Filterausdruck für ARP-Antwortpakete
arp.opcode==2
und es funktioniert perfekt. Aber wenn ich es in pcap_compile-Funktion verwende, löst es einen Ausnahme-Syntaxfehler aus. Ich habe auch diese Varianten versucht:
arp.opcode = 2
arp.opcode 2
arp opcode 2
arp.reply
arp reply
und nichts scheint zu funktionieren. Ich habe versucht, es zu googeln, aber keinen Erfolg. Ist es überhaupt möglich, diese spezifischen Pakete zu filtern?
Verwenden Sie entweder C oder C++. Markieren Sie den Post nicht mit beiden Tags. Fügen Sie auch den Code hinzu, ohne den wir nicht helfen können. –
pcap-Filter sind nicht so ausgefeilt wie die Ausdrücke, die Wireshark unterstützt. Dokumentation bei z.B. https://linux.die.net/man/7/pcap-filter. Es könnte besser sein, nur nach ARP-Verkehr zu filtern und dann nach Antworten im Code zu suchen. Andernfalls müssen Sie das arp-Paketformat auf Byte-Ebene recherchieren. –
@AlanStokes Ja, dachte ich. Ich wollte es einfacher machen, aber ich denke, es kann nicht getan werden. Danke für die Antwort! –