iftop ist ein Kommandozeilen-Tool zur Echtzeit-Überwachung der Netzwerkbandbreite. Es zeigt eine kontinuierlich aktualisierte Liste von Netzwerkverbindungen sowie die zwischen ihnen übertragenen Datenmengen an. Die Verbindungen werden tabellarisch dargestellt und können nach Bandbreitennutzung sortiert werden.
iftop bietet verschiedene Filteroptionen, mit denen sich die Anzeige auf bestimmte Hosts, Netzwerke oder Ports beschränken lässt. Es unterstützt IPv6 und kann Quell- und Ziel-IP-Adressen, Portnummern sowie verwendete Protokolle anzeigen.
Das Tool ist besonders nützlich, um den Netzwerkverkehr in Echtzeit zu überwachen und Dienste oder Hosts zu identifizieren, die die meiste Bandbreite verbrauchen. Zudem hilft es dabei, Leistungsprobleme im Netzwerk zu erkennen und die Fehlersuche zu erleichtern.
Zusammenfassend ist iftop ein leichtgewichtiges, aber leistungsstarkes Werkzeug und eine wertvolle Ergänzung für das Toolkit jedes System- oder Netzwerkadministrators.
Eines der nützlichsten Netzwerk-Monitoring-Tools, das ich verwende, ist iftop. Besonders hilfreich ist es, wenn die Netzwerkverbindung ausgelastet oder gesättigt ist. In der Praxis kann es auch dabei helfen, ungewöhnliche Verkehrsmuster zu erkennen, beispielsweise DoS-Angriffe. Im folgenden Beispiel übertrage ich eine große Datei auf eine entfernte Maschine mit begrenzter Bandbreite und beobachte dabei den Datenverkehr mit iftop.
Zunächst installieren wir iftop auf der lokalen Maschine (in diesem Fall Kali Linux):
|
1 |
# apt install iftop |
Die verwendete Distribution spielt keine große Rolle — iftop ist in den meisten Linux-Repositories verfügbar, unter anderem auch unter Debian.
Nun installieren wir iftop auf der entfernten Maschine (Debian Linux):
|
1 |
# apt install iftop |
Um die Überwachung des Netzwerkverkehrs zu starten, führen wir iftop mit den Parametern -PpNn aus:
|
1 |
# iftop -PpNn |
Da ich per SSH mit der entfernten Maschine verbunden bin, sehe ich meine aktive SSH-Sitzung in der Verbindungsübersicht.
Nun wechseln wir zurück zur lokalen Maschine und erstellen eine große Datei:
|
1 |
# truncate -s 1G 1G-file.txt |
Nachdem die 1-GB-Datei erstellt wurde, übertragen wir sie mit einer Bandbreitenbegrenzung auf die entfernte Maschine:
|
1 |
# scp -l 800 -P2222 1G-file.txt soban@soban.pl:~ |
Die Option -l 800 begrenzt die Übertragungsrate auf 800 Kbit/s. Um dies in KB/s umzurechnen, teilt man durch 8 — das ergibt ungefähr 100 KB/s.
Auf diese Weise lässt sich sowohl ausgehender als auch eingehender Datenverkehr in Echtzeit beobachten. Obwohl iftop ein einfaches Tool ist, bietet es eine sehr gute Transparenz der aktuellen Netzwerkaktivität.
Bei Brute-Force-Angriffen sieht man in der Regel viele kurzlebige Verbindungen. Ein DoS-Angriff hingegen zielt darauf ab, die Bandbreite zu saturieren, was sich durch hohen eingehenden Datenverkehr bemerkbar macht. Ist ein Traffic-Anstieg legitim, kann man eine Begrenzung der Verbindungsgeschwindigkeit in Betracht ziehen — beispielsweise mit iptables.