AA_123rf-14681075_magone-123RF.jpg

© magone, 123RF

Mit Nethogs die Netzwerkbandbreite pro Prozess beobachten

Erbsenzähler

Welche Programme und Nutzer blockieren auf dem System das Netzwerk? Nethogs kennt die Antwort.

Seit mehr als zehn Jahren arbeitet der Niederländer Arnout Engelen [1] an seinem Tool Nethogs [2]. Das bislang wenig bekannte Werkzeug steht unter der GPL und schlüsselt, anders als die meisten anderen Programme zur Analyse des Netzwerks, die derzeit benötigte Bandbreite nach Prozessen auf. Das ist insbesondere dann nützlich, wenn Sie wissen möchten, welche Anwendung gerade besonders intensiv kommuniziert.

Damit das funktioniert, greift die Software für die Analyse auf das virtuelle Proc-Dateisystem (unter anderem /proc/net/tcp und /proc/net/tcp6) zurück. Wohl aus Gründen der Performance hat der Autor das Programm in C++ geschrieben. Die offiziellen Quellen finden Sie online [3] und auf der Heft-DVD. Gegenwärtig zeigt Nethogs nur den TCP-Datenfluss an; andere Protokolle, wie etwa ICMP oder UDP, unterstützt es gegenwärtig nicht.

Schnell installiert

Inzwischen findet sich die Software in den meisten offiziellen Paketquellen der bekannten Distributionen. Im Test unter Ubuntu 14.04 in der 64-Bit-Version war es möglich, mit den üblichen Kommandos das Paket zu installieren (Listing 1).

Listing 1

$ sudo apt-get update
$ sudo apt-get install libncurses5 libpcap0.8
$ sudo apt-get install nethogs

Übersetzen Sie Nethogs aus den Quellen, dann achten Sie darauf, gegebenenfalls ebenfalls vorab dessen Abhängigkeiten Libpcap und Ncurses nachzuziehen – unter Debian/Ubuntu also die Pakete libncurses5-dev und libpcap0.8-dev.

Das Programm benötigt teils Root-Rechte. Sie starten es daher entweder direkt als root oder unter Ubuntu beziehungsweise Debian mit Sudo-Rechten:

$ sudo nethogs

Nach dem Aufruf des Tools dauert es einen Moment, bis sinnvolle Ergebnisse auf dem Bildschirm erscheinen. Bevor das Werkzeug erste Analysen erstellen kann, müssen ja erst einige Netzwerkpakete über die Leitung huschen. Abbildung 1 zeigt, wie Nethogs in unserem Test die aktuell verbrauchte Bandbreite aufschlüsselte.

Abbildung 1: Nethogs zeigt, dass derzeit ein Wget- und ein Apt-Prozess etwas Bandbreite benötigen.

Die Anzeige der Daten geschieht in sechs Spalten: Die erste mit der Überschrift PID enthält die Prozess-ID der angezeigten Prozesse, die Spalte mit der Überschrift USER führt die entsprechenden Benutzer auf, die den jeweiligen Prozess gestartet haben. Die dritte Spalte mit der Überschrift PROGRAM verweist auf die ausführende Datei – in Abbildung 1 verbirgt sich ein apt-get update hinter dem Programm /usr/lib/apt/methods/http. Da sich viele Programme unter Linux anderer Werkzeuge oder Module bedienen, ist in dieser Spalte nicht immer ohne Weiteres das Programm zu erkennen, das Sie womöglich zuvor gestartet haben.

Die vierte Spalte mit der Bezeichnung DEV weist auf das Interface hin, über welches der Datenverkehr gerade fließt. Die vorletzte Spalte mit der Kennung SENT zeigt die ausgehende Bandbreite an, während die letzte Spalte RECEIVED den eingehenden Traffic in KByte pro Sekunde zeigt. Mit [Strg]+[C] oder alternativ [Q] verlassen Sie das Programm wieder.

Optionen

Nethogs startet beim Aufruf ohne Angabe von zusätzlichen Parametern mit sinnvollen Standardeinstellungen. So lauscht das Programm auf der ersten Schnittstelle (meist also eth0) und aktualisiert die Anzeige jede Sekunde. Möchten Sie ein anderes Interface in die Analyse mit einbeziehen, übergeben Sie dem Programm entweder nur dieses (Listing 2, erste Zeile) oder gleich alle (Listing 2, zweite Zeile).

Listing 2

$ sudo nethogs eth1
$ sudo nethogs eth0 eth1
$ sudo nethogs -d 2 eth0 eth1

Möchten Sie die Anzeige häufiger aktualisieren, nutzen Sie den Schalter -d. Diesen kombinieren Sie bei Bedarf mit der Auswahl der Interfaces (Listing 2, letzte Zeile). Weitere Parameter erfahren Sie mit dem Aufruf von sudo nethogs -h in einem Terminal.

Das Top-ähnliche Programm bietet die Möglichkeit, während der Laufzeit Einfluss auf die Anzeige der Daten zu nehmen. Über [M] schalten Sie zwischen den Einheiten KB/s, KB, B und MB hin und her. Die Software stellt dann nicht mehr die aktuell genutzte Bandbreite, sondern das seit Programmstart genutzte Datenvolumen pro Prozess dar (Abbildung 2).

Abbildung 2: Über M verändern Sie in Nethogs die Anzeige der Einheiten.

Mit [R] und [S] bietet das Programm zudem eine Möglichkeit, die Sortierung nach eingehender (r wie "received") und ausgehender (s wie "sent") Bandbreite an. Lassen Sie sich übrigens von der Anzeige unknown TCP in Abbildung 2 nicht verwirren: Nethogs hatte in diesem Fall womöglich zu einigen Verbindungen schlicht nicht genug Daten an der Hand, um die Prozesse eindeutig zuzuordnen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 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

  • Programme zum Bandbreiten-Monitoring
    Viele Programme kommunizieren über das Netz. Herrscht hier Stop-and-go, ist es gut zu wissen, wo die Ursache liegt.
  • Angetestet
    Datenbank-Client Dbeaver 3.7.4, Union-Dateisystem Mergerfs 1.1.0, Netzwerküberwacher Nethogs 0.8.4, Fotoverwaltung Shotwell 0.23.7.
  • Programme zum Bandbreiten-Monitoring
    Wer verstopft schon wieder die DSL-Leitung? Eine Reihe von Programmen hilft bei der Suche nach dem Verursacher.
  • Neues auf den Heft-DVDs
    Mit den Allroundern Linux Mint 17.1 und Netrunner 14.1, dem Netzwerkdiagnose-Spezialisten Wifislax 4.10.1 und der auf Anonymisierung ausgerichteten Live-Distribution Tails 1.2.3 findet sich auch diesmal wieder ein buntes Potpourri aus allen Einsatzbereichen auf den Heft-DVDs. Als Star der Sammlung glänzt das benutzerfreundliche Desktop-System MakuluLinux in Varianten mit Cinnamon und XFCE als Oberfläche.
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...