wireshark:Nur Datenschicht erfassen
-
23-08-2019 - |
Frage
Gibt es eine Möglichkeit, in Wireshark nur die Datenschicht zu erfassen und die oberen Schichten zu ignorieren?Wenn nicht, gibt es ein anderes Paket-Dump-Dienstprogramm, das dies tun kann?VORZUGSWEISE 1 Datei pro Paket!
Was ich suche:Ein Dienstprogramm, das nur die Datenschicht (die Nutzlastschicht) in eine Datei speichert.
Das hängt mit der Programmierung zusammen...!Was ich wirklich tun möchte, ist, alle Datagramme zu vergleichen, um die Codierung/das Protokoll eines Drittanbieters zu verstehen.Idealerweise und was großartig wäre, wäre ein Hex-Vergleichsprogramm, das mehrere Dateien vergleicht!
Lösung
Sie sollten versuchen, einen Rechtsklick auf ein Paket und wählen Sie „Follow TCP Stream“. Dann können Sie die TCP-Kommunikation in eine RAW-Datei zur weiteren Verarbeitung speichern. Auf diese Weise werden Sie nicht alle TCP / IP-Protokoll Junk erhalten.
Andere Tipps
Es gibt eine Funktion Aufnahmegröße in Wireshark zu begrenzen, aber es scheint, dass 68bytes der kleinste Wert ist. Es gibt Optionen zu starten neue Dateien nach einer bestimmten Anzahl von Kilo, Mega, Gigabyte, aber auch hier die kleinste 1-Kilobyte, also wahrscheinlich nicht sinnvoll.
Ich würde vorschlagen, an der pcap Bibliothek suchen und Ihre eigenen Rollen. Ich habe dies in der Vergangenheit getan, um die PERL Net :: Pcap Bibliothek, aber es könnte leicht andere Sprachen zu erfolgen.
Wenn Sie Unix / Linux zur Verfügung haben könnten Sie auch in tcpdump aussehen. Sie können mit ihm erfassten Datenmenge begrenzen. Zum Beispiel „es 14“ würden Sie normalerweise die Ethernet-Header erhalten, die ich davon ausgehen, ist das, was man von der Sicherungsschicht bedeuten. Es gibt auch Optionen für die Steuerung, wie oft Dateien durch Angabe Dateigröße mit C erstellt werden. Also theoretisch, wenn Sie die Dateigröße auf die Capture-Größe festgelegt, werden Sie eine Datei pro Paket erhalten.
Benutzen tshark
Ich konnte nur Daten drucken, indem ich sie als Telnet dekodierte und das Feld telnet.data druckte
tshark -r file.pcap -d tcp.port==80,telnet -T fields -e telnet.data
GET /test.js HTTP/1.1\x0d\x0a,User-Agent: curl/7.35.0\x0d\x0a,Host: 127.0.0.1\x0d\x0a,Accept: */*\x0d\x0a,\x0d\x0a
HTTP/1.1 404 Not Found\x0d\x0a,Server: nginx/1.4.6 (Ubuntu)\x0d\x0a,Date: Fri, 15 Jan 2016 11:32:58 GMT\x0d\x0a,Content-Type: text/html\x0d\x0a,Content-Length: 177\x0d\x0a,Connection: keep-alive\x0d\x0a,\x0d\x0a,<html>\x0d\x0a,<head><title>404 Not Found</title></head>\x0d\x0a,<body bgcolor=\"white\">\x0d\x0a,<center><h1>404 Not Found</h1></center>\x0d\x0a,<hr><center>nginx/1.4.6 (Ubuntu)</center>\x0d\x0a,</body>\x0d\x0a,</html>\x0d\x0a
Nicht perfekt, aber es war gut genug für das, was ich brauchte. Ich hoffe, es hilft jemandem.