Sniff SSL-Handshake mit tshark

7

Wie erhalte ich mit tshark einen Speicherauszug eines SSL-Handshakes in einem für Menschen lesbaren Format? Ich muss dies einem Anbieter zum Debuggen eines fehlgeschlagenen SSL-Handshake-Problems zur Verfügung stellen.

Dies muss in tshark erfolgen, nicht in wireshark, da dies auf einem Remote-Server ohne GUI erfolgt.

Goji
quelle

Antworten:

4

So was.

tshark -nn -i <interface> -s 0 -w mycapture.pcap <hostname> and port <portnumber>

Durch <interface>den zu erfassenden Schnittstellennamen ersetzen (z eth0. B. ). Ersetzen Sie ihn <hostname>durch den Namen oder die IP-Adresse des Remote-Hosts, für den Sie Pakete erfassen möchten. Ersetzen Sie ihn <portnumber>durch den Port, auf dem der Dienst ausgeführt wird (wahrscheinlich 443).

Sie können tcpdumpstattdessen auch verwenden . Sowohl Wireshark als auch tcpdumpverwenden libpcap zum Erfassen, sodass Sie genau dieselben Informationen erfassen. Sie können die resultierende Datei auch kopieren und in Wireshark auf einem anderen Computer öffnen.

Die Befehlszeilenflags für tcpdumpund tsharksind nah genug, dass sie in den meisten Fällen austauschbar verwendet werden können.

Bahamat
quelle
1
Ich finde diese Lösung im wirklichen Leben besonders hilfreich. Wireshark ist großartig, weil eine grafische Benutzeroberfläche bei komplexen Daten wie Paketverfolgungen sehr hilfreich ist. Da es keine Regel gibt, die besagt, dass Sie die Daten auf demselben Computer analysieren müssen, auf dem sie erfasst werden, mache ich dies häufig. Erfassen Sie die Daten auf der Headless-Box mit einer breiten tcpdump-Anweisung und geben Sie sie dann zur genauen Analyse später in wireshark auf meinem Desktop ein. Sie benötigen auch den SSL-Schlüssel des Clients, wenn Sie in die Pakete schauen möchten.
MadHatter
4

Angenommen, Sie wissen bereits, wie man Filter mit tshark verwendet, geben Sie einfach den folgenden Anzeigefilter an:

ssl.handshake.type == 1

Wenn Sie den gesamten SSL-Verkehr wünschen, geben Sie ihn einfach sslals Filter ein.

Sie können diese nicht direkt in den Erfassungsfiltern verwenden, da der Erfassungsfiltermechanismus nicht weiß, ob die Nutzlast SSL ist oder nicht.

Wenn Sie alternativ wissen, welchen Port der SSL-Verkehr durchläuft, können Sie alternativ einen Erfassungsfilter für diesen Port verwenden. Wenn der SSL-Verkehr beispielsweise auf Port 443 läuft, verwenden Sie Filter port 443

Weitere Informationen finden Sie unter:

  1. Eine ausführlichere Liste der SSL-Anzeigefilter finden Sie hier.

  2. So erfassen Sie SSL mithilfe von Erfassungsfiltern

Ein Beispielbefehl, mit dem Sie den SSL-Verkehr in einem für Menschen lesbaren Format erfassen und in eine Datei einfügen können, lautet:

tshark -i <interface> -c <no. of packets to capture> -V -R "ssl" > capturefile.txt

Oder Capture-Filter verwenden

tshark -i <interface> -c <no. of packets to capture> -V -f "port 443" > capturefile.txt

Weitere Informationen finden Sie auch auf der tshark-Manpage .

Akshet
quelle