Datenverkehr auf entferntem Rechner mitschneiden

Manchmal möchte man den Datenverkehr an einem entfernten Rechner, auf den man Zugriff hat, mitschneiden und in Wireshark analysieren. Dies kann bequem via ssh und pipeing gemacht werden:

ssh [email protected] tcpdump -U -s0 -i eth0 -w - 'not port 22' | wireshark -k -i –

Mit ssh verbindet man sich auf den jeweiligen Host. Dort wird der Befehl tcpdump mit den Parametern -U (Daten werden nicht gebuffert, schneller) und -s0 (sagt, dass das gesamte Paket mit Payload mitgeschnitten werden soll) ausgeführt. Das zu belauschende Interface ist eth0 auf dem Zielhost. Mit -w wird normalerweise in eine Datei geschrieben. Der darauf folgende Strich sagt, dass alle Pakete in die Standardausgabe geschrieben werden sollen. Zum Abschluss entfernen wir noch den Port 22 für ssh aus der Aufzeichnung, da wir sonst den aufgezeichneten Verkehr wieder mit aufzeichnen würden.

Durch den Pipe-Operator in Form eines senkrechten Strichs übergeben wir die Pakete von tcpdump an wireshark (muss lokale auf unserem PC installiert sein). Mit -k wird die Aufzeichnung gleich begonnen, mit dem Interface-parameter -i, gefolgt von einem Strich sagen wir wireshark, dass es die Standardeingebe lesen soll.

Das wars, jetzt öffnet sich wireshark. Im Hintergrund in der Shell müsst ihr ggf. vorher noch das Passwort für den ssh-login eingeben. Da tcpdump root-Rechte auf dem System erfordert, müssen wir uns mit root einloggen. Sollte dies nicht möglich sein, kann auch ein Nutzer mit sudo-Rechten genutzt werden. Dafür muss vor den Befehl tcpdump noch ein sudo hinzugefügt werden.

Stay Tuned

Støertebeker

Veröffentlicht unter Linux, Messungen, Netzwerk, Security/Hacking, Tutorials

Schreibe einen Kommentar