2013-06-26 1 views
0

J'utilise libjpcap pour capturer des paquets du réseau et les gérer dans mon application. Actuellement, nous pouvons utiliser des filtres de sorte que nous capturons seulement à partir d'une certaine destination. Par exemple, src host 10.159.2.3 capture uniquement le trafic à partir de ce point de terminaison.Filtre sur la charge utile des paquets GRE ip/dst

Récemment, nous avons ajouté le support de paquets GRE, mais les filtres ne fonctionnent pas comme prévu. Dans notre cas, la charge utile du paquet GRE est un paquet IPv4.

Existe-t-il un moyen d'entrer un filtre qui va filtrer les paquets basés sur les src et/ou dst du paquet IPv4 contenu? Je suis conscient que wireshark va gérer le cas, donc j'essaie de l'inclure ici.

Merci d'avance.

Répondre

0

J'ai trouvé un moyen de le faire. En utilisant pcap filter expresions nous pouvons filtrer par un décalage et une longueur. En utilisant wireshark, nous avons inspecté la capture .pcap et déterminé que l'adresse src sur le paquet ip de données utiles (celle à l'intérieur de GRE) a un décalage de 54 octets par rapport à l'en-tête du paquet ip externe. L'adresse dst du paquet IP de charge utile a un décalage d'octet de 58.

Nous avons donc inclus cette expression comme un filtre

(ip[54:4] = 0X0ac004ef) or (ip[58:4] = 0X0ac004ef) 

où le nombre hexadécimal représente les octets concaténés convertis en hexadécimal. de l'ip, nous voulons filtrer.

Questions connexes