Könnte jemand eine gute Paket-Sniffer-Klasse für c ++ vorschlagen? [geschlossen]
-
19-08-2019 - |
Frage
Kann jemand eine gute Paket-Sniffer-Klasse für c ++ vorschlagen? Sie sucht eine leicht einführbar Klasse ich in meinem c verwenden ++ Programm, nichts kompliziert.
Lösung
Sie werden nie in der Lage sein, Netzwerkverkehr abzufangen nur durch eine Klasse in das Projekt einfügen. Packet-Capture-Funktionalität erfordert Unterstützung Kernel-Modus, daher werden Sie zumindest müssen Ihre Anwendung haben erfordern oder installieren libpcap / WinPcap, wie Will Dean hingewiesen.
Die meisten modernen Unix-Distributionen libpcap aus der Box enthalten, in dem Fall, dass Sie einen Blick auf diese sehr einfaches Beispiel nehmen könnte: http://www.tcpdump.org/pcap.htm
Wenn Sie mit Windows arbeiten, sind Sie mehr oder weniger auf eigene Faust, obwohl WinPcap Programmierung sehr ähnlich der Programmierung libpcap Das SDK kann hier gefunden werden (wenig überraschend, da es sich um eine libpcap Port Win32 ist.): http : //www.winpcap.org/devel.htm
Auf jeden Fall, unabhängig davon, das Betriebssystem, Sie wird müssen Zugang root / Administrator, um tatsächlich eine Erfassung durchzuführen. Nur die Bibliothek mit precaptured Daten wiederzugeben oder analysieren keine besonderen Privilegien erfordern, natürlich.
Andere Tipps
Sie müssen etwas über Ihre Plattform sagen, da dies eine Plattform ist eher als eine Sprache Sache.
Aber vorausgesetzt, Sie sind auf etwas gemeinsam, schauen Sie in pcap oder winpcap.
Microsoft Network Monitor eine Paketerfassung und Analyse-API hat, finden Sie unter der netmon Blog für einige grundlegenden Informationen.