3 Stimmen

Könnte jemand eine gute Packet Sniffer Klasse für C++ vorschlagen?

Könnte jemand eine gute Packet Sniffer Klasse für C++ vorschlagen? Auf der Suche nach einer einfach einfügbaren Klasse, die ich in meinem C++-Programm verwenden kann, nichts Kompliziertes.

17voto

Mihai Limbășan Punkte 59901

Sie werden niemals in der Lage sein, den Netzwerkverkehr abzufangen, indem Sie einfach eine Klasse in Ihr Projekt einfügen. Die Paketaufzeichnungsfunktionalität erfordert die Unterstützung des Kernelmodus, daher muss Ihre Anwendung zumindest libpcap/WinPcap erfordern oder installieren, wie Will Dean betonte.

Die meisten modernen Unix-ähnlichen Distributionen enthalten libpcap von Haus aus, in diesem Fall können Sie sich dieses sehr einfache Beispiel ansehen: http://www.tcpdump.org/pcap.htm

Wenn Sie Windows verwenden, sind Sie mehr oder weniger auf sich allein gestellt, obwohl WinPcap Die Programmierung von libpcap ist der von libpcap sehr ähnlich (was nicht überrascht, da es sich um eine Portierung von libpcap auf Win32 handelt). Das SDK finden Sie hier: http://www.winpcap.org/devel.htm

Auf jeden Fall sollten Sie unabhängig vom Betriebssystem wird benötigen Root-/Administrator-Zugriff, um eine Erfassung durchzuführen. Die bloße Verwendung der Bibliothek zur Wiedergabe oder Analyse vorerfasster Daten erfordert natürlich keine besonderen Berechtigungen.

2voto

Will Dean Punkte 38365

Sie müssen etwas über Ihre Plattform sagen, da es sich hier um eine Plattform und nicht um eine Sprache handelt.

Aber vorausgesetzt, Sie arbeiten mit einem gängigen System, sollten Sie sich pcap oder winpcap ansehen.

1voto

Microsoft Network Monitor verfügt über eine API zur Paketerfassung und -analyse, siehe Der Netmon-Blog für einige grundlegende Informationen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X