# iftop — Netzwerkverkehr live pro Verbindung überwachen

> Praxis-Guide zu iftop — Live-Bandbreite pro Verbindung im Terminal anzeigen, BPF-Filter setzen und Traffic-Spitzen mit dem „top für Netzwerke" aufspüren.

Source: https://www.jpkc.com/db/cheatsheets/networking/iftop/

<!-- PROSE:intro -->
iftop zeigt dir in Echtzeit, welche Netzwerkverbindungen deinen Durchsatz beanspruchen – ähnlich wie `top` CPU-Zeit pro Prozess anzeigt, listet iftop Bandbreite pro Host-Paar auf. Mit einem einzigen Befehl siehst du sofort, wer gerade sendet und empfängt, wie viel Traffic jede Verbindung verursacht und welche Hosts die meiste Kapazität belegen. Das Tool nutzt Paketmitschnitt (libpcap) und läuft vollständig im Terminal – ideal zum schnellen Troubleshooting bei unerwartetem Bandbreitenverbrauch.
<!-- PROSE:intro:end -->

## Grundlegende Verwendung

`iftop` — Überwacht den Traffic auf dem Standard-Interface. Benötigt Root-Rechte.

```bash
sudo iftop
```

`iftop -i INTERFACE` — Überwacht ein bestimmtes Netzwerk-Interface.

```bash
sudo iftop -i eth0
```

`iftop -n` — Numerische Ausgabe – keine Hostnamen-Auflösung. Schnellerer Start.

```bash
sudo iftop -n
```

`iftop -N` — Port-Nummern werden nicht in Dienstnamen aufgelöst.

```bash
sudo iftop -N
```

`iftop -nN` — Vollständig numerisch – weder Hostnamen noch Ports werden aufgelöst.

```bash
sudo iftop -nN
```

`iftop -P` — Zeigt Port-Nummern neben Hostnamen oder IP-Adressen an.

```bash
sudo iftop -P
```

## Filterung & Anzeige

`iftop -f FILTER` — Wendet einen BPF-Filterausdruck an (gleiche Syntax wie bei tcpdump).

```bash
sudo iftop -f 'port 80 or port 443'
```

`iftop -F NETWORK/CIDR` — Zeigt Traffic zu und von einem bestimmten Netzwerk an.

```bash
sudo iftop -F 192.168.1.0/24
```

`iftop -G NETWORK/CIDR` — Zeigt Traffic für ein IPv6-Netzwerk an.

```bash
sudo iftop -G 2001:db8::/32
```

`iftop -B` — Zeigt Bandbreite in Byte/s statt Bit/s an.

```bash
sudo iftop -B
```

`iftop -m LIMIT` — Legt die maximale Bandbreite für die Balkendiagramm-Skala fest.

```bash
sudo iftop -m 100M
```

`iftop -p` — Promiscuous-Modus – erfasst den gesamten Traffic im Netzwerksegment.

```bash
sudo iftop -p
```

## Text-Modus & Ausgabe

`iftop -t` — Text-Modus – nicht-interaktive Ausgabe, geeignet zum Protokollieren.

```bash
sudo iftop -t -s 10
```

`iftop -t -s SECONDS` — Text-Modus, der für eine bestimmte Anzahl von Sekunden läuft.

```bash
sudo iftop -t -s 30
```

`iftop -t -L LINES` — Text-Modus, der nur die Top-N-Verbindungen anzeigt.

```bash
sudo iftop -t -L 20 -s 10
```

`iftop -o COLUMN` — Sortiert nach Spalte: 2s, 10s, 40s, Quelle, Ziel.

```bash
sudo iftop -o 10s
```

## Interaktive Tastenkürzel

`h` — Hilfsbildschirm ein-/ausblenden.

`n` — DNS-Auflösung ein-/ausschalten.

`N` — Port-Nummern-Auflösung ein-/ausschalten.

`p` — Port-Anzeige ein-/ausschalten.

`P` — Anzeige pausieren (Traffic wird weiterhin erfasst).

`s` — Anzeige des Quell-Hosts ein-/ausschalten.

`d` — Anzeige des Ziel-Hosts ein-/ausschalten.

`S` — Anzeige des Quell-Ports ein-/ausschalten.

`D` — Anzeige des Ziel-Ports ein-/ausschalten.

`t` — Wechselt zwischen Anzeigemodi: zweizeilig, einzeilig Senden, einzeilig Empfangen, einzeilig beides.

`b` — Balkendiagramm ein-/ausblenden.

`B` — Zwischen Byte/Bit-Anzeige wechseln.

`T` — Kumulative Gesamtwerte ein-/ausblenden.

`l` — Anzeigefilter setzen (Suchmuster).

`L` — Anzahl der angezeigten Zeilen festlegen.

`1/2/3` — Sortierung nach 2s / 10s / 40s-Durchschnittsspalte.

`</>` — Sortierung nach Quelle / Ziel.

`j/k` — Verbindungsliste nach oben/unten scrollen.

`q` — iftop beenden.

## Typische Anwendungsmuster

`iftop -nNP -i eth0` — Vollständig numerische Anzeige mit Ports auf einem bestimmten Interface.

```bash
sudo iftop -nNP -i eth0
```

`iftop -n -f 'not port 22'` — Traffic ohne SSH überwachen (praktisch bei aktiver SSH-Verbindung).

```bash
sudo iftop -n -f 'not port 22'
```

`iftop -n -f 'dst port 80 or dst port 443'` — Nur ausgehenden Web-Traffic überwachen.

```bash
sudo iftop -n -f 'dst port 80 or dst port 443'
```

`iftop -t -s 60 -n > bandwidth.log` — Bandbreitennutzung für 60 Sekunden in eine Datei protokollieren.

```bash
sudo iftop -t -s 60 -n > bandwidth.log
```

## Die Anzeige lesen

`TX (obere Leiste)` — Gesamte gesendete Bandbreite.

`RX (untere Leiste)` — Gesamte empfangene Bandbreite.

`TOTAL` — Kombinierte TX- und RX-Bandbreite.

`2s / 10s / 40s Spalten` — Durchschnittliche Bandbreite der letzten 2, 10 und 40 Sekunden.

`=> / <=` — Pfeilrichtung zeigt den Traffic-Fluss: => ausgehend, <= eingehend.

`peak / cum` — Peak: höchste gemessene Bandbreite. Cum: kumulativ übertragene Datenmenge.

<!-- PROSE:outro -->
## Fazit

iftop ist dein erster Griff, wenn der Netzwerkdurchsatz unerwartet einbricht oder eine Verbindung den Uplink dominiert. Die BPF-Filtersprache erlaubt dir, sofort auf verdächtigen Traffic zu fokussieren; der Text-Modus macht die Ausgabe scriptfähig. Für tiefere Paketanalyse greifst du danach zu tcpdump oder Wireshark.

## Weiterführende Links

- [iftop – Projektseite](http://www.ex-parrot.com/pdw/iftop/) – offizielle Website mit Download und Dokumentation (englisch)
- [iftop(8) – Manpage](https://linux.die.net/man/8/iftop) – alle Optionen im Überblick (englisch)
- [iftop – Wikipedia](https://en.wikipedia.org/wiki/Iftop) – Hintergrund und Einordnung (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [netstat](https://www.jpkc.com/db/cheatsheets/networking/netstat/) – Netzwerkverbindungen, Routing-Tabellen und Socket-Statistiken anzeigen
- [ss](https://www.jpkc.com/db/cheatsheets/networking/ss/) – schneller Socket-Status als moderne Alternative zu netstat
- [tcpdump](https://www.jpkc.com/db/cheatsheets/networking/tcpdump/) – Netzwerkpakete auf der Kommandozeile mitschneiden und filtern

