Dank pcap_filter
möchte ich filtern nach
ether_type
: Protokoll 0x88b5- UND nach bestimmten Bytes in der Nutzlast: "ASK" oder 0x41434b
Es ist Ethernet-Ebene => keine Netzwerkschicht, direkt die Nutzlast.
=> Die Bytes, nach denen ich suche, befinden sich auf den Bytes 15, 16 und 17 des Ethernet-Frames, richtig?
Ich habe es versucht, aber das funktioniert nicht:
char filter_exp[] = "ether proto 0x88b5 and ether[14:3] == 0x41434b";
if(pcap_compile(descr,&fp,filter_exp,0,PCAP_NETMASK_UNKNOWN) == -1)
{ fprintf(stderr,"Error calling pcap_compile\n"); exit(1); }
Meine Frage ist :
- Können wir Filter auf
ether_type
und Bytes mischen ? - Wenn nein, wie kann ich das machen? Indem Sie die Bytes angeben, nach denen auch gefiltert
ether_type
werden soll?
ether_type
und die Bytes mischen , aber die Anzahl der Bytes muss gerade sein (2 oder 4 Werke) ...