Nethogs: Netzwerkverkehr nach Prozessen

Für was ist das gut?

Um den Netzwerktraffic unter Linux zu analysieren, gibt es zahlreiche Werkzeuge wie ethstatus, iptraf oder iftop. Allerdings zeigen die meisten Programme nur von und zu welcher IP der Datenverkehr durch die Leitung geschickt wird oder wie viel gerade fließt. Möchte man dagegen wissen, welcher Prozess den meisten Netzerwerkverkehr gerade im Moment verursacht, tappt man bei den genannten im Dunkeln. Das Licht schafft hier das kleine Kommandozeilenwerkzeug Nethogs.

Allerdings gibt es vorab erwähnt auch ein paar kleinere Feature-Lücken: So kann keine Sortierung nach Programmnamen stattfinden, Nethogs muss immer mit Root-Rechten ausgeführt werden, zeigt nur den aktuellen Netzwerkverkehr und lässt UDP unter den Tisch fallen (relevant zum Beispiel für BitTorrent).

Installation

Das Progamm findet sich eigentlich in jedem Repositorium einer Linux-Distribution, zum Beispiel Ubuntu oder Arch Linux. Notfalls kann man aber auch den Quellcode selbst kompilieren.

Verwendung

Grundsätzlich lässt sich Nethogs mit dem gleichnamigen Kommandozeilen-Befehl ausführen. Jedoch sind dazu Root-Rechte notwendig.

1
$ sudo nethogs

Standardmäßig lauscht Nethogs an eth0. Verwendet man allerdings WLAN übergibt man – für die erste WLAN-Schnittstelle – wlan0 als Parameter.

1
$ sudo nethogs wlan0

Sollte das immer noch nicht zu Erfolg führen, gibt der folgende Befehl alle lokalen Netzwerkschnittstellen aus.

1
$ ifconfig

Die gewünschte Schnittstelle dann Nethogs entsprechend als Parameter übergeben. Danach präsentiert sich Nethogs als ncurses-Oberfläche wie im Screenshot.

Aussehen von Nethogs: tabellenartig mit 6 Spalten. Eine Spalte für die
PID, der Nutzer der das Programm ausführt, der Programmname, die
Netzwerkschnittstelle sowie die Menge an gesendeten und empfangenen
Daten. So tabellenartig sieht Nethogs aus.

Die einzelnen Spalten sind eigentlich selbsterklärend. Zudem kann man über Tastenkürzel Nethogs ein wenig anpassen; kurz die meiner Meinung nach wichtigsten Optionen:

  • M: Zwischen den Einheiten KB/s, KB, B oder MB umschalten
  • R: Sortierung nach empfangenen Daten (received)
  • S: Sortierung nach gesendeten Daten (send)
  • Q: Programm schließen (Alternative zu Strg + C)

Die (kleine) Liste aller Optionen finden sich entweder in der manpage oder auf Deutsch im Ubuntuusers-Wiki.

Fazit

Nethogs ist ein kleines Werkzeug, das einfach nur macht, was es soll – nämlich den aktuellen Netzwerkverkehr auf die einzelnen Prozesse aufgliedern. Die bestehenden „Problemchen“ wie fehlende UDP-Unterstützung oder Sortiertung allein nach Datentraffic werden ggf. in einer nächsten Version ausgebügelt.

Kommentar

Avatar von haenx

haenx

#1

Danke dafür. :)

Neuen Kommentar schreiben