Netzwerkverkehr analysieren mit Iftop

Aus LinuxUser 12/2025

Netzwerkverkehr analysieren mit Iftop

© Bjoern Forenius / 123RF.com

Verkehrsbeobachter

Träge Netzwerkverbindungen können einem den letzten Nerv rauben. Oft zeigt ein Blick auf die Netzwerkebene, wo es klemmt. Mit Iftop analysieren Sie flink, welche Verbindungen sich auf der Leitung tummeln.

Iftop gehört in den Werkzeugkasten jedes Linux-Benutzers. Der Name steht als Abkürzung für “interface top”: Das Tool [1] zeigt die aktuelle Auslastung einer Netzwerkschnittstelle an und gilt als Netzwerk-Pendant zu Top respektive Htop [2], die beide die Auslastung der CPU anzeigen. Iftop gehört jedoch meist nicht zur Standardinstallation, Sie müssen das praktische Werkzeug dem System nachträglich hinzufügen (siehe Kasten “Iftop installieren”).

Iftop verrät, wofür gerade Bandbreite auf einer Netzwerkschnittstelle verbraten wird. Das Programm stellt dar, welche Netzwerkverbindungen zwischen zwei IP-Adressen bestehen und wie viele Datenpakete über diese Verbindungen laufen. Alternativ schalten Sie die Darstellung auch auf Protokollebene um, etwa um den gesamten FTP- oder HTTP-Datenstrom zu überblicken. Damit eignet sich Iftop insbesondere zur Fehlersuche und hilft die Frage zu klären, warum sich eine Leitung so langsam anfühlt.

Iftop installieren

Iftop findet sich in den Paketquellen aller gängigen Distributionen und lässt sich daher in aller Regel über den Paketmanager installieren. Für viele weitere DEB- [5] und RPM-basierte [6] Distributionen finden Sie im Netz Binärpakete. Als Abhängigkeiten fallen lediglich die beiden Bibliotheken Libpcap [7] und Libcurses [8] an. Die erste dient der Paketinspektion, die zweite übernimmt die Darstellung der Ausgabe im Terminal. Alternativ greifen Sie zum Quellcode-Tarball von der Projektseite. Nach dem Download packen Sie das Archiv aus und übersetzen das Tool für Ihre Distribution und Plattform. Auch wenn die Releases etwas angestaubt erscheinen, funktionieren sie im Alltag tadellos.

Erste Schritte

Sie starten Iftop im Terminal mit dem gleichnamigen Kommando. Da es administrative Rechte voraussetzt, müssen Sie zuvor als Benutzer root angemeldet sein oder das Programm via Sudo starten.

Nach dem Start präsentiert sich Iftop dreigeteilt: Am oberen Rand stellt es eine Skala zur Datenrate dar, in der Mitte die aktiven Netzwerkverbindungen und am unteren Rand eine Statistik zur übertragenen Datenmenge (Abbildung 1). Dabei wertet Iftop, sofern Sie es nicht anders anweisen (dazu später mehr) die Daten der ersten externen Netzwerkschnittstelle aus, die es erkennt. Dabei handelt es sich in der Regel um eth0.

Abbildung 1: Ausführliche Darstellung von Iftop: Quelle ohne DNS, aber mit Port, und Ziel mit DNS und Protokoll.

Abbildung 1: Ausführliche Darstellung von Iftop: Quelle ohne DNS, aber mit Port, und Ziel mit DNS und Protokoll.

Die Anzeige einer aktiven Netzwerkverbindung besteht aus zwei Zeilen mit jeweils fünf Spalten. Die erste Zeile stellt die Senderichtung dar, die zweite Zeile die Empfangsrichtung. Ein kleiner Pfeil signalisiert zusätzlich die Richtung der Übertragung: => steht für die Senderichtung, <= für die Empfangsrichtung. Die einzelnen Spalten einer Zeile beinhalten die Quelle und das Ziel der Verbindung sowie eine Statistik über den erfolgten Datentransfer. Die drei Spalten in der rechten Hälfte der Ausgabe zeigen den Datentransfer der vergangenen 2, 10 und 40 Sekunden an.

Pro Übertragung sehen Sie zudem einen Balken, der die Verbindung hervorhebt. Die Breite des Balkens gibt deren Anteil an der Gesamtmenge der derzeit übertragenen Daten an. So erkennen Sie auf einen Blick, welcher Datenstrom im Moment am meisten Bandbreite belegt. Gibt es mehr aktive Netzwerkverbindungen als ins Bildschirmfenster passen, blättern Sie in der Darstellung. Dazu nutzt Iftop die Vim-Keybindings [J]+ für nach unten und [K] für nach oben.

Am unteren Rand zeigt Iftop die gesendete (TX, dritte Zeile von unten), die empfangene (RX, vorletzte Zeile) und die insgesamt übertragene Datenmenge (Total) an. Die zweite Spalte führt die über den Beobachtungszeitraum kumulierten Werte auf, die drei Spalten in der rechten Hälfte geben Aufschluss über den Verlauf in den letzten 2, 10 und 40 Sekunden.

TIPP

Iftop kennt eine Vielzahl von Schaltern und Optionen – eine Übersicht zur Laufzeit erhalten Sie mittels [H]. Weitere Informationen bietet die ausführliche englischsprachige Manpage. Diese erreichen Sie über den Aufruf man iftop auf der Kommandozeile.

Darstellung anpassen

Die Skala zur Datenrate schalten Sie mittels [Umschalt]+[L] zwischen linearer und logarithmischer Darstellung um. Beim Wechsel blendet Iftop den jeweils aktivierten Modus oben links kurz ein. Mit [B] bestimmen Sie die Sichtbarkeit der Skala und blenden diese bei Bedarf aus beziehungsweise wieder ein.

Für die Anzeige der aktiven Netzwerkverbindungen schalten Sie mittels [T] zwischen den Darstellungsarten einzeilig, zweizeilig, nur empfangene Pakete und nur gesendete Pakete um. Besonders bei vielen gleichzeitigen Verbindungen erweist sich eine kompakte und dadurch übersichtlichere Darstellung als Vorteil.

Mit einem Druck auf [N]+ wechseln Sie zwischen der Darstellung von IP-Adressen und der Namensauflösung der IP-Adressen via DNS. Abbildung 2 zeigt eine gemischte Darstellung, ein Teil der IP-Adressen lässt sich hier nicht korrekt auflösen. Außerdem sehen Sie dort die Portnummern, über die die Verbindungen laufen. Mit [P] schalten Sie die entsprechende Darstellung ein und wieder aus. [Umschalt]+[S] begrenzt diese Aktion auf die Quellen der Verbindungen (“source”), während [Umschalt]+[D] dasselbe für die Zieladressen (“destination”) ermöglicht.

Abbildung 2: Iftop bietet eine kompakte Darstellung der Verbindungen.

Abbildung 2: Iftop bietet eine kompakte Darstellung der Verbindungen.

Was bei den Portnummern geht, klappt auch für IP-Adressen beziehungsweise Hostnamen. Mit [S]+ blenden Sie die Quelladresse der Verbindungen ein beziehungsweise aus, [D] bewirkt dasselbe für die Zieladressen.

Filtern und Sortieren

Wie Sie sehen, zeigt sich Iftop sehr flexibel in Bezug auf das Darstellen der von ihm registrierten Pakete. Das gilt gleichermaßen für das Filtern und Sortieren.

Um aus den aktiven Netzwerkverbindungen nur eine Auswahl darzustellen, legen Sie mithilfe eines Musters einen Filter fest. Ein Druck auf [L] (“limit”) öffnet in der obersten Zeile ein Eingabefeld, in dem Sie das Suchmuster eintragen. Iftop interpretiert es als regulären Ausdruck [3] und zeigt nur solche Verbindungen an, die mit dem Muster übereinstimmen. In Abbildung 3 wurden über den Filter dropbox nur die entsprechenden Verbindungen dieses Netzwerkdiensts herausgefiltert.

Möchten Sie die Ausgabe sortieren, kommt Ihnen Iftop mit zwei Varianten entgegen. Ein Druck auf [<]+ oder [Umschalt]+[<] sortiert die Darstellung nach Quelle beziehungsweise Ziel, <\[>1]+, <\[>2]+ und <\[>3] dagegen entsprechend der Spalte mit dem Zeitintervall.

Abbildung 3: Filtern der Verbindungen mithilfe eines Musters.

Abbildung 3: Filtern der Verbindungen mithilfe eines Musters.

Aufrufparameter

Iftop akzeptiert beim Programmaufruf eine Reihe von Optionen. Diese decken sich oft mit der bereits oben beschriebenen Tastenbelegung. Für neugierige Netzwerker sind sicher die beiden Optionen -i und -p interessant: Mit -i Interface bestimmen Sie, auf welcher Netzwerkschnittstelle Iftop lauschen soll. Der Schalter -p setzt den sogenannten Promiscuous Mode in Gang und berücksichtigt dementsprechend sämtliche Netzwerkpakete, die an der Schnittstelle vorbeikommen – auch jene, die nicht explizit für das Interface bestimmt sind.

Mit der Option -f lässt sich Iftop noch etwas stärker in die Schranken weisen und erfasst nur ausgewählte Pakete. So filtern Sie beispielsweise mit dem folgenden Aufruf alle SSH-Pakete, die über die Wireless-Schnittstelle /dev/wlan0 laufen:

# iftop -i wlan0 -f "dst port 22"

Hier steht dst hier für das Ziel (“destination”), Port 22 dient üblicherweise als SSH-Port. Die Formulierung des Filterausdrucks entspricht der Schreibweise von Pcap-filter [4] und ermöglicht eine sehr elegante Auswahl der Pakete. Die Tabelle “Pcap-filter-Expressions” gibt einen kleinen Überblick zu den entsprechenden Möglichkeiten.

Filter

Beschreibung

dst host 1.2.3.4

Alle Pakete, die an den Rechner mit der IP-Adresse 1.2.3.4 gehen.

src port 22

Alle Pakete, die von Port 22 kommen.

dst portrange 22-33

Alle Pakete, deren Ziel-Port zwischen 22 und 33 liegt.

gateway 1.2.3.5

Alle Pakete, deren Gateway-Adresse 1.2.3.5 lautet.

Fazit

Das Kommandozeilenwerkzeug Iftop erfasst den Datenverkehr auf Netzwerkschnittstellen. Dabei analysiert es, welche Netzwerkverbindungen bestehen und wie viele Datenpakete über die einzelnen Verbindungen laufen. Auf diese Weise kommen Sie schnell dahinter, welche Programme und Dienste welche Bandbreite mit Beschlag belegen und das Netzwerk unter Umständen unnötig auslasten. Dabei helfen nicht zuletzt clevere Paketfilter. 

Infos

  1. Iftop: https://www.ex-parrot.com/~pdw/iftop/

  2. Top & Co.: Harald Zisler, “Kontrollraum”, LU 01/2013, S. 82, https://www.linux-community.de/27882

  3. Regex (Teil 1): Thomas Reuß, “Schreckgespenster”, LU 12/2023, S. 34, https://www.linux-community.de/49924

  4. Manpage zu Pcap-filter: https://www.manpagez.com/man/7/pcap-filter/

  5. DEB-Paket zu Iftop: https://packages.debian.org/trixie/iftop

  6. RPMs finden: https://rpmfind.net

  7. Libpcap: https://www.tcpdump.org

  8. Libcurses: https://www.gnu.org/software/ncurses/ncurses.html

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 12/2025 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben