tshark: Wie erhält man in einer HTTP-POST-Anfrage Formulardaten in einer hübschen Ausgabe?

tshark: Wie erhält man in einer HTTP-POST-Anfrage Formulardaten in einer hübschen Ausgabe?

Ich bin Lehrer und möchte mit meinen Schülern einen MITM-Angriff simulieren. Ziel ist es zu zeigen, warum das httpSProtokoll muss immer verwendet werden.

Unter Debian habe ich Tshark installiert. Alles funktioniert einwandfrei. Wenn ich den Hotspot-Modus ausführe und Tshark starte, kann ich HTTP-Pakete empfangen und wenn ich ein wenig nachforsche, können wir die Formulardaten im Klartext sehen:

Bildbeschreibung hier eingeben

Erstens zeigt Tshark die Get-Anfrage zweimal an, wenn ich im Browser des Computers 10.42.0.21 die URL des Servers eingebe (eine einfache GET-Anfrage). Ich verstehe nicht, warum. Gibt es eine Möglichkeit, das Replikat zu löschen oder den Grund herauszufinden? (Das Serverprotokoll zeigt zwei GET-Anfragen an)

zweitens, wenn ich eine POST-Anfrage an den Server sende (über ein einfaches HTML-Formular). Wir können die Daten des Formulars im Klartext sehen (das ist logisch, weil der Server das HTTP-Protokoll und nicht das HTTP verwendet).S)

Die aktuelle Ausgabe ist:Timestamp,POST / HTTP/1.1\r\n,\r\n,Form item : "fname" = "John"

Ist es mit Tshark möglich, eine schönere Ausgabe zu erhalten, die nur die Elementwerte (Felder) des Formulars enthält? So etwa:"fname" = "John"

Danke für jede Hilfe :)

BEARBEITEN: Das Duplikat liegt an einer Favicon-Anforderung. Das Problem liegt bei meinem Python-Server und nicht bei Tshark.

Antwort1

Verwenden Sie den grepBefehl, um nach Zeilen zu suchen, die Formularelemente enthalten, und trennen Sie dann mit dem cutBefehl die gewünschten relevanten Daten ab.

In Ihrem Beispiel tshark | grep "Form item" | cut -d":" -f2würde wahrscheinlich etwas wie das bewirken, was Sie möchten.

verwandte Informationen