injizierten Pakete erfasst, die derzeit über eine Möglichkeit nachdenken, an der gleichen Schnittstelle zu schnüffeln, indem nur pcap verwendet wird, und auch die Pakete mit pcap_inject injiziert.Verhindern, dass libpcap die mit pcap_inject()
Die Sache leicht gelöst werden kann, indem entweder:
- persistent Prüfsumme Tracking/große langsame Karte /,
- Prüfsumme Tracking -, bis alle Daten eingespritzt wurde, sagen wir, eine erste HTTP-Anforderung;
- BPF/libipq/Netfilter Hacking für jedes echten PHY-Paket zusätzliche Parameter
Aber tragen:
pcap hört eth0/reale Welt Situation ist näher an "pcap hört und fällt über Quelle Magie" /, pcap sendet Pakete über den Handle von eth0, so dass sie weitergeleitet werden können. Was ist die theoretische Grundlage für libpcap, um Pakete nicht zu erfassen, die mit derselben Bibliothek in dieselbe Schnittstelle injiziert wurden - z. B. injizierte Pakete durchlaufen nicht den gesamten Paketfiltercode von Berkeley?
Praxistest TBD.
Das ist genial einfach :) hab dein Kopfgeld. Andere Leute haben skbuff subsystem wieder erwähnt und gehen jetzt nicht so weit. –
Sie könnten auch 'pcap_setdirection (p, PCAP_D_IN)' verwenden, wenn Sie nur Pakete * empfangen * auf der Schnittstelle sehen wollen. Beachten Sie jedoch, dass dies nicht nur bedeutet, dass Sie keine Pakete sehen, die Sie injizieren. Es bedeutet auch, dass Sie keine Pakete sehen, die Ihr Gerät über den normalen Netzwerkstapel überträgt. Dasselbe gilt jedoch, wenn Sie einen Filter verwenden die Ethernet-Quelladresse. –