tcpdump vs tcpflow (oder "warum ist nicht die tcpdump-ASCII-Paket-Daten-von Menschen lesbar?")
Habe ich auch, und ich schließe daraus, dass ich Lesen kann html-Daten von Webseiten mit tcpflow, aber nicht mit tcpdump. Die beste, die ich bekommen, ist einige hässliche ASCII-text mit viel Zeit Symbole.
Mein Verständnis ist, dass tcpdump nicht wieder zusammenbauen-Pakete, in der Erwägung, dass tcpflow tut. Aber wenn das war der entscheidende Unterschied, nicht die Paket-Daten von tcpdump noch Menschen lesbar - nur in kleineren Mengen? Das problem ist, dass tcpdump ist beschränkt auf ASCII und die meisten Netzwerk-Verkehr ist in UTF-8 kodiert?
Ich bin ein rookie auf Netzwerk-Analyse/Programmierung, so verzeihen Sie mir, wenn ich etwas fehlt offensichtlich.
- Nur verwenden Sie wireshark, um zu Lesen tcpdump capture-Dateien, und wählen Sie dann ein Paket in der Sitzung in Frage. Sie können mit "Analysieren" > "Follow TCP-stream", um ein ASCII-dump des gesamten Strom.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu bekommen, dass die verschlüsselten Daten sollte man verwenden, tcpdump mit der option
tcpdump –A
(Hauptstadt einer). Es überträgt text, ohne überschriften und wird hauptsächlich für web-Seiten. Daher erhalten wir Antwort Seite leicht.Ich denke, Sie sind immer verwirrt zwischen application layer und transport layer packet.
Ich weiß nicht, über tcpflow aber tcpdump capture das ganze Paket (inklusive header und der andere Kram) nicht nur die Daten.Die html-Daten, die Sie erwähnen würde, werden im Datenteil des tcp - /udp - /icmp-Paket, welches Sie verwenden, und so die es braucht, Sie verstehen den Aufbau der tcp - /udp - /icmp-Paket sowie ...
Ich halte dieses Paket auf meinem Rechner und HTML-Daten deutlich sichtbar ist , müssen Sie ein Skript schreiben, um es von der Leistung mit einem wissen aus Paket-Struktur.
Den letzten 7-8 Zeilen beschreiben die html-Daten.
verwenden
-s0
erfassen ganze Rahmen und der-X
drucken in der obigen ASCII-lesbaren format.Bekommen, dass verschlüsselte Daten sollte man verwenden, TCPDUMP mit der option –A (großes a). Es überträgt text, ohne überschriften und wird hauptsächlich für web-Seiten. Daher erhalten wir Antwort-Seite problemlos.
ZB:
Bitte ich index.html zu 172.31.9.84 auf port 80
Dann bat ich GET/index.html (ein Beispiel Seite, die nur text enthält "Indian institute of technology dies ist die test-Seite")
In diesem moment, wenn ich gefangen Pakete bekam ich etwas wie:
tcpdump -w
zum protokollieren der Pakete vollständig in einer Datei und spätertcpdump -r
um Sie wiederherzustellen, und finden Sie die besten Kommandozeilen-Optionen, die von iteration zu sehen, die details, die Sie sehen wollen.The html data which you are mentioning would be in the data part of a tcp/udp/icmp packet
Wirklich? Sie denken, es ist wahrscheinlich, dass er den Besuch einer website, die antwortet mit HTML gekapselt in... ICMP-Pakete? Unwahrscheinlich.you need to write script to get it from the output with a knowledge of packet structure
Nicht wahr. Sie können einfach verwenden Sie Wireshark.Beim Versuch, HTTP-Daten mit tcpdump sehen Sie Klartext im ASCII-wenn Sie die option-A an. Aber, ein HTTP-Daten ist fast immer mit gzip komprimiert-Modus oder andere. Sie können es sehen in den Kopfzeilen:
So, tcpdump-Ausgabe auf dem Bildschirm mehrere bytes, und Sie sind die komprimierten Daten!!! Sie verwenden müssen, tshark oder wireshark, um zu sehen, Flachbild-Daten. Dann ist dein problem ist nicht UTF8.
Können Sie testen, tcpdump-Daten Anzeige deaktivieren deflate-Modul in der Apache-web-server.
Hoffe, dass dies helfen.