AA_123rf-6662958_neokan-123RF.jpg

© neokan, 123RF

Netzwerkverkehr analysieren mit Tshark

Durchblick

Tshark gibt präzise Auskunft über die Datenströme im Netz. Mit den passenden Parametern gefüttert, findet er im Nu die Ursache von Schwierigkeiten bei der Übertragung.

Spätestens, wenn die Systemprotokolle bei Problemen keine Auskunft geben oder Sie schlicht wissen wollen, was gerade im Netzwerk auf dem System passiert, lohnt ein Blick direkt in den Datenstrom. Tools wie Tcpdump [1] oder Wireshark [2] ermöglichen das Mitlesen aller Pakete, die über die ausgewählten Schnittstellen fließen. Mithilfe von Filtern schneiden Sie dabei ganz bestimmte Ströme heraus und bereiten diese für die Analyse auf. Das im Lieferumfang von Wireshark enthaltene Werkzeug Tshark [3] erledigt das auf der Kommandozeile.

Während Tcpdump das Tool der Wahl von Gurus und Profis ist, spricht Wireshark aufgrund der mächtigen GUI eher Einsteiger und Fortgeschrittene an. Haben Sie mit Letzterem jedoch schon einmal große Datenmengen ausgewertet, sind Sie womöglich an ein bekanntes Limit gestoßen: Ab einer bestimmten Anzahl von Paketen bringt Wireshark ein System so richtig zum Schwitzen – und damit schnell an dessen Grenzen.

Möchten Sie auf entfernten Systemen oder schlicht mit weniger Einsatz von Ressourcen den Datenverkehr im Netzwerk analysieren, bietet sich also Tshark an. Dieses Werkzeug enthält im Grunde die gleichen Features wie sein größerer Bruder Wireshark.

Damit das Sniffing funktioniert, versetzt das Programm die jeweilige Schnittstelle in der Regel in den sogenannten Promiscuous Mode. In diesem Modus leitet die Netzwerkkarte alle an ihr vorbeikommenden Pakete an das Betriebssystem weiter, statt lediglich die via MAC-Adresse direkt ans lokale System adressierten.

Viele Pakete, viele Rechte

Die Installation erledigen Sie über die Kommandozeile oder das grafische Werkzeug Ihrer Wahl. Im Test kam für alle Kommandos Tshark 1.10.6 unter Ubuntu 14.04 (64 Bit) zum Einsatz. Da der Netzwerk-Sniffer jedoch in den meisten anderen großen Distributionen enthalten ist und dort die gleichen Parameter entgegennimmt, spricht nichts dagegen, zu einem anderen Linux zu greifen und dort die Installation mit dem Paketmanager Ihrer Wahl vorzunehmen. Unter Ubuntu bringen Sie zunächst Ihr System auf den aktuellsten Stand (Listing 1, Zeile 1 und 2). Im Anschluss installieren Sie das Programm mit dem Paketmanager (Zeile 3).

Listing 1

$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ sudo apt-get install tshark

Wireshark und Tshark greifen auf die gleichen Ressourcen zurück; beide Tools kommen daher im Bündel. Rechnen Sie also damit, dass die frisch heruntergeladenen Pakete im entpackten Zustand rund 70 MByte an Festplattenspeicher in Anspruch nehmen.

Tshark setzt voraus, dass Sie es als root oder mit vorangestelltem sudo ausführen, da es ansonsten nicht genug Rechte zum Mitlesen von Paketen erhält. Das Tool greift dabei auf das mitgelieferte Programm Dumpcap zurück, das wiederum unter Einsatz von Pcap [4] den aktuellen Datenverkehr mitschneidet und grundsätzlich ohne recht weitreichende Privilegien den Dienst verweigert.

Während des Tests unter Ubuntu beschwerte sich das Programm allerdings lauthals über den Aufruf mit Root-Rechten – solche Meldungen dürfen Sie in der Regel getrost ignorieren. Prinzipiell halten sich die Risiken in Grenzen, da Tshark den Einsatz von Lua-Skripten, die ein Einfallstor wären, selbst unterbindet.

Gehen Ihnen diese Hinweise dennoch auf die Nerven und möchten Sie deshalb das Rechte-Setup auf dem System geraderücken, führen wieder mehrere Wege zum Ziel. Unter Ubuntu genügt der Aufruf des Kommandos sudo dpkg-reconfigure wireshark-common und das abschließende Bestätigen mit Yes. Damit gestatten Sie Benutzern ohne administrative Rechte den Mitschnitt von Datenverkehr. Damit Ihr Benutzerkonto davon profitiert, nehmen Sie es in die lokale Gruppe wireshark auf:

$ sudo adduser $USER wireshark

Nach dem Logout und erneutem Anmelden läuft Tshark nun in Ihrem Benutzerkonto auch ohne Sudo-Präfix.

Am Anfang

Das Programm bringt zahlreiche Funktionen mit, wie schon die vielen Optionen und Schalter erkennen lassen (Abbildung 1). Das Programm richtet sich zwar an Fortgeschrittene und Profis, aber keine Sorge: Sie brauchen sich nicht erst durch eine lange Dokumentation zu wühlen oder tiefschürfendes Vorwissen mitzubringen, um den Datenverkehr zu analysieren.

Abbildung 1: Die Ausgabe der wichtigsten Tshark-Optionen "erschlägt" beim ersten Anblick.

Wenn Sie zuerst sehen möchten, welche Interfaces die Software auf dem lokalen oder entfernten System gefunden hat, genügt das kurze Kommando tshark -D. Wenn Sie dessen Ausgabe (Listing 2) zum ersten Mal sehen, sind Sie womöglich von der Anzahl der aufgeführten Netzwerkadapter überrascht: Wo kommen die vielen Geräte her?

Listing 2

§nonumber
$ sudo tshark -D
1. eth0
2. nflog
3. nfqueue
4. any
5. lo

Tshark zeigt hier virtuelle Adapter an, die das Betriebssystem bereitstellt. Während eth0 das erste Interface auf dem Testsystem repräsentiert, handelt es sich bei den Adaptern nflog und nfqueue um einen Teil des Netfilter-Systems [5] von Linux [6]. Diese Schnittstellen erlauben bestimmte Interaktionen mit dem Netfilter-Modul des Kernels und stehen daher ebenfalls für die Analyse bereit. Der vierte Punkt auf der Liste, any, weist das Programm an, auf allen Interfaces zu lauschen, während das letzte Ergebnis lo für das Loopback-Interface steht.

Für den Einstieg genügt es, wenn Sie Tshark mittels sudo tshark -i any anweisen, auf allen Schnittstellen zu lauschen, und ein zweites Terminal öffnen, in dem Sie einen Ping auf die Webseite Ihrer Wahl absetzen (Abbildung 2). Während das eine Fenster das Ergebnis des Pings zeigt, offenbart das andere Terminal, was während des Vorgangs im Hintergrund geschieht. Bei diesem konkreten Beispiel sehen Sie alle Vorgänge, da die Software auf allen Interfaces lauscht.

Abbildung 2: Die Ausgabe von Tshark zeigt, was während eines Ping-Vorgangs im Hintergrund geschieht.

Beschränkte sich das Sniffing nur auf eth0, wäre Ihnen hier entgangen, dass (wie in der ersten Zeile in Abbildung 2 zu erkennen), das Testsystem zunächst eine DNS-Abfrage an localhost absetzt. Aktuelle Ubuntu-Installationen tragen in /etc/resolv.conf den Nameserver 127.0.0.1 ein, da die Namensauflösung über eine separate Komponente geschieht.

Das Ping-Kommando hat einen DNS-Namen erhalten, weshalb es für diesen zunächst die IP-Adresse abfragt, bevor es einen ICMP-Request an das korrekte Ziel absetzt. Tshark berichtet daher zunächst von der DNS-Anfrage und zeigt die korrekte Rückantwort des zuständigen Nameservers an (siehe Frame 4 und 10 in Abbildung 2).

Anschließend sehen Sie die eigentlichen Anfragen und Antworten, die einen Ping ausmachen. Den aktuellen Sniffing-Vorgang brechen Sie übrigens über [Strg]+[C] ab.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 09/2017 PERFEKTE FOTOS

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

WLan mit altem Notebook funktioniert nicht mehr
Stefan Jahn, 22.08.2017 15:13, 0 Antworten
Ich habe ein altes Compaq-6710b Notebook mit Linux Mint Sonya bei dem WLan neulich noch funktioni...
Würde gerne openstreetmap.de im Tor-Browser benutzen, oder zu gefährlich?
Wimpy *, 21.08.2017 13:24, 1 Antworten
Im Tor-Netzwerk (Tor-Browser) kann ich https://www.openstreetmap.de/karte.html# nicht nutzen....
Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...
Tails verbindet nicht mit WLan
Georg Vogel, 30.07.2017 15:06, 5 Antworten
Hallo zusammen! Habe mir von Linux Mint aus einen Tails USB-Stick erstellt. Läuft soweit gut,...
Genivi for Raspberry Pi 3
Sebastian Ortmanns, 28.07.2017 10:37, 1 Antworten
I try to build a Genivi Development Platform for Rasberry Pi 3. But I always get the failures bel...