2009-08-16 8 views
2

Ist es möglich, dass libpcap ein Paket entfernt, anstatt nur zu schnüffeln, während es durchläuft? Ich möchte jedes Paket abfangen und es zusammen mit Messdaten in ein neues Paket einkapseln, aber beide Pakete (meins und das Original) erreichen beide das Ziel.Drop-Paket mit libpcap

+0

da diese Frage zu libcap ist, möchten Sie vielleicht ein libpcap Tag hinzuzufügen. – sivabudh

Antwort

1

Die einzige Möglichkeit, dies zu tun, ist, der einzige physische Pfad zwischen Sender und Empfänger zu sein und die Paketweiterleitung auf dem Interceptor zu deaktivieren.

Wenn Sie drahtlosen Datenverkehr erfassen, können Sie nichts tun. Keine Softwarebibliothek kann Radiowellen aus der Umgebungsluft entfernen.

2

Es ist nicht möglich. Sie müssen einen Treiber (für Ihr Betriebssystem) schreiben, damit der Netzwerkstapel Pakete ausfiltert.

+0

Es gibt viele Linux-Kernel-Optionen, um das Verhalten des Netzwerk-Stacks zu ändern. Beispiel: Mit echo 0>/proc/sys/net/ipv4/ip_forward wird die Weiterleitung von Paketen deaktiviert, die nicht an diesen Host adressiert sind. –

+0

@Ben: das ist richtig. Ich bezweifle jedoch, dass Sie eine solche Konfiguration verwenden können, um zu implementieren, was er will. –

+0

Die IPTables des Linux-Kernels sind ein guter Ort, um Informationen über das Löschen von PCs zu sammeln –

1

Nein, libpcap kann kein Paket entfernen.

Es ist nicht ganz klar, was Sie erreichen möchten, aber es sieht so aus, als ob Sie Daten empfangen, zusätzliche Informationen hinzufügen und sie erneut veröffentlichen möchten. Wenn Sie mit einem Datagramm-Protokoll wie UDP arbeiten, können Sie Ihre erweiterten Daten möglicherweise einfach an einen anderen UDP-Port senden.

0

Als Antwort auf Ben S, können Sie keine Pakete aus der Luft entfernen, aber Sie können sie ihr Ziel erreichen stoppen - ARP-Cache-Poisoning verwenden usw.

0

Wie andere schon erwähnt, kann man nicht libpcap verwenden können. libpcap ist ein passiver Listener. Wenn Sie Linux verwenden, können Sie ein Netfilter verwenden, das sich in iptables einklinkt. Hier ist ein Beispiel, wie man das macht.

http://www.linuxjournal.com/article/7184

Verwandte Themen