2016-04-20 17 views

Antwort

1

Aber ich bekomme nicht, wie die Quell-und Ziel-IP-Adressen und Ports zu lesen?

Durch Sezieren der rohen Paketdaten, die WinPcap Ihnen gibt; libpcap/WinPcap stellt keine APIs zur Verfügung, um rohe Paketdaten zu zerlegen (weil verschiedene libpcap/WinPcap-Anwendungen unterschiedliche Anforderungen haben - eine Intrusion Detection-Anwendung wie Snort und ein Paketanalysator wie tcpdump oder Wireshark machen unterschiedliche Dinge mit den Daten).

Siehe z. B. libtins als eine C++ - Bibliothek für die Durchführung von Paketdissektion, oder die libpcap tutorial für ein Beispiel, wie Sie selbst sezieren.

+0

Danke, ich werde das versuchen! – honiahaka10

+0

Nach einigen Änderungen wurde 'sriffex.c' von' libpcap tutorial' erfolgreich kompiliert. Aber ich verstehe nicht, was sich ändert, um meine pcap-Datei zu lesen? Ich habe 'dev =" D: \ path \ to \ udp.pcap "' versucht, aber das führt zum Programmabsturz. Ich habe auch 'dev =" port 4321 "' versucht, um nur meine Datei zu lesen, während sie mit 'Colasoft-Player' abgespielt wird, aber ich bekomme den gleichen Absturz (Konsolenausgabe): _Device: port 4321; Anzahl der Pakete: 10; Filterausdruck: ip; Geräte-Port konnte nicht geöffnet werden 4321: Fehler beim Öffnen des Adapters: Das System kann das Gerät nicht finden. (20); _ – honiahaka10

+1

Das sind keine Abstürze, das sind Fehlerberichte. ['sniffex.c'] (http://www.tcpdump.org/sniffex.c) ist * nicht * ein Programm, das pcap-Dateien liest, es ist ein Programm, das auf allen Geräten aufzeichnet, die libpcap unterstützt - ohne Netzwerk Ports wie "Port 4321". Sie müssten es ändern, um 'pcap_open_offline()' anstelle von 'pcap_open_live()' zu verwenden, damit es Capture-Dateien lesen kann. –