Netzwerk Traffic unter Linux anzeigen
Möchte man unter Linux wissen, was für Datenverbindungen offen sind, bzw. was für eine Bandbreite gerade über die Interface geht, dann gibt es hierfür einige Tools. Ich gehe hier mal auf ein paar davon ein. Ziel war es, zu wissen, ob und was für Traffic über meinen Raspberry Pi iPhone Hotspot im Failover Fall läuft. Mich interessierte nicht nur, ob und wieviel Bandbreite über das iPhone Hotspot Interface lief, sondern auch um was für Internet Verbindungen es sich handelt.
nload - Bandbreiten Monitor
nload
zeigt einem die aktuelle Bandbreite an, die über das ausgewählte Interface geht (Up/Down) wie auch den gesamt übertragenen Traffic seit das Interface hochgefahren ist.
Installation unter Debian/Ubuntu via Paketmanager:
apt update && apt install nload -y
gestartet wird das tool dann mit -u h
für human readable und dem gewünschten Interface Namen, bei mir eth1
(ip a
gibt einem alle vorhandenen Interface an):
nload -u h eth1
die Ausgabe sieht dann in etwa so aus:
Device eth1 [172.20.10.4] (1/1): =========================================================== Incoming: Curr: 0.00 Bit/s Avg: 64.00 Bit/s Min: 0.00 Bit/s Max: 792.00 Bit/s Ttl: 635.96 kByte Outgoing: Curr: 0.00 Bit/s Avg: 64.00 Bit/s Min: 0.00 Bit/s Max: 792.00 Bit/s Ttl: 208.22 kByte
iftop - Traffic Auswertung
Installation unter Debian/Ubuntu via Paketmanager:
apt update && apt install iftop -y
gestartet wird das Tool dann mit -B
für bytes und -i INTERFACENAME
:
iftop -B -i eth1
die Ausgabe sieht dann in etwa so aus:
1.56KB 3.12KB 4.69KB 6.25KB 7.81KB └──────────────────┴──────────────────┴──────────────────┴──────────────────┴─────────────────── 172.20.10.4 => server-13-225-38-94.cdg3.r.cloudf 0B 8B 7B <= 0B 8B 7B 172.20.10.4 => 172.20.10.1 0B 0B 2B <= 0B 0B 3B ──────────────────────────────────────────────────────────────────────────────────────────────── TX: cum: 323B peak: 77B rates: 0B 8B 8B RX: 378B 63B 0B 8B 10B TOTAL: 701B 119B 0B 17B 18B
nethogs - Traffic nach Prozess
nethogs
gibt einem die Möglichkeit zu sehen, welcher Prozess gerade Traffic auf einem Interface verursacht.
Installation unter Debian/Ubuntu via Paketmanager:
apt update && apt install nethogs -y
ausgeführt wird der Befehl mit -p
(Promiscious Mode) und dem Interface Namen. Hier eth0:
nethogs -p eth0
Das zeigt einem dann den User und den Prozess an, der gerade Bandbreite Frist:
NetHogs version 0.8.5-2 PID USER PROGRAM DEV SENT RECEIVED 613 root sshd: root@pts/0 eth0 0.342 0.176 KB/sec ? root unknown TCP 0.000 0.000 KB/sec TOTAL 0.342 0.176 KB/sec
vnstat - Traffic Statistik
vnstat
speichert den Traffic in einer Datenbank ab und man kann ihn so anzeigen lassen
Installation unter Debian/Ubuntu via Paketmanager:
apt update && apt install vnstat -y
startet man das Tool einfach ohne Parameter bekommt man eine Übersicht über den gesammelten Traffic aller Interface:
vnstat
mit -i INTERFACENAME
, wird nur der Traffic des gewünschten Netzwerkinterface angezeigt:
vnstat -i eth0
Mehr Informationen findet ihr in diesem eigenen Artikel:
tcpdump - Zeigt den kompletten Datenverkehr an
tcpdump ist ein sehr Mächtiges Tool wenn es darum geht Netzwerktraffic auf Paketebene auszulesen. Zum Debuggen von allen möglichen Services, die sich über die Netzwerkebene Unterhalten ist dieses Tool das A und O!
Installation unter Debian/Ubuntu via Paketmanager:
apt update && apt install tcpdump -y
Nach dem es installiert ist, starten wir das Tool einfach mal:
tcpdump
dies spuckt sämtliche Pakete aus, die gerade durch alle Interface laufen, das Ganze ist natürlich nicht zu gebrauchen und viel zu unübersichtlich. Hier ein paar nützliche Befehle:
# zeigt alle verfügbaren Interface Namen an die verwendet werden können
tcpdump -D
# zeigt alle Pakete die durch eth1 gehen an
tcpdump -i eth1
# zeigt alle Pakete die durch eth1 gehen an und löst keine Namen auf
tcpdump -ni eth1
Wie ist meine IP
Möchte man wissen mit welcher öffentlichen IP man unterwegs ist:
curl ifconfig.me
Quellen
- https://www.howtoforge.de/anleitung/bashbefehle-und-programme-um-traffic-und-auslastung-zu-prufen/
- https://wiki.ubuntuusers.de/tcpdump/