Wie wird der Netzwerkverkehr im Terminal angezeigt?

395

Wie wird der tatsächliche Netzwerkverkehr (drahtlos) in einem Terminal angezeigt?

Zusätzlich: Ist es möglich, diese Informationen zum Chart von hinzuzufügen top?

IndexOutOfBoundsException
quelle
3
Irgendwelche Lösungen für "Ist es möglich, diese Informationen zum Diagramm von hinzuzufügen top?" Teil? :)
Janaka Bandara
1
@ JanakaBandara Schauen Sie sich die Blicke an .
ESala

Antworten:

432

Hier sind einige nützliche Tools in den Ubuntu-Repositories für die Überwachung des Befehlszeilen-Netzwerkverkehrs:

bmon - zeigt mehrere Schnittstellen gleichzeitig an

Bildbeschreibung hier eingeben

Slurm - hat schöne farbige Grafiken

Bildbeschreibung hier eingeben

tcptrack - Ein Favorit. Gibt an, wie viel Bandbreite verwendet wird und zu welchem ​​Protokoll (Dienst / Port) und Ziel die Übertragung erfolgt. Sehr hilfreich, wenn Sie genau wissen möchten, was Ihre Bandbreite beansprucht

Bildbeschreibung hier eingeben

Tomodachi
quelle
8
bmon ist echt cool! hat einen Graphen wie Slurm, aber nicht bunt.
Ethereal
26
sudo apt-get install bmon slurm tcptrack
Nabil Kadimi
3
nloadErwähnenswert für eine bessere Trennung von Upload und Download (auch nicht bunt)
Chris
1
tcptrack ist cool!
Robert
sudo apt install ethstatus
Isync
146

Es ist sehr leicht! installiere "iftop" mit:

sudo apt-get install iftop

Dann renne

sudo iftop

von jedem terminal!

Genießen!

Tribaal
quelle
8
Um irgendetwas zu sehen, muss ich laufen (Ubuntu benutzt wifi): $ sudo iftop -i wlan0
russian_spy
wird iftopauch die Netzwerkbandbreite von Zeit zu Zeit aufgezeichnet oder protokolliert? Derzeit verwende ich beide vnstatund iftopfür unterschiedliche Zwecke und vnstatprotokolliere die Bandbreitennutzung. Es wäre übermäßig und würde meinen Server mehr belasten, wenn iftopes das auch tut.
Oki Erie Rinaldi
132

Jemand hätte es auch erwähnen sollen nethogs.

Die Sache, die anders ist und vielleicht cooler daran ist, ist, dass der Verkehr pro Prozess angezeigt wird , wie das Bild zeigt

Bildbeschreibung hier eingeben

Schauen Sie sich die Seite an

arsaKasra
quelle
8
Installation: sudo apt-get -y install nethogsdannsudo nethogs
bmaupin
Sehr nützliches Dienstprogramm, beachten Sie jedoch, dass Sie möglicherweise einige zusätzliche Schritte ausführen müssen , um es unter 14.04 zu installieren, wie in askubuntu.com/a/729560/79176 beschrieben.
Huge
Für diejenigen mit Debian Jessie, die zufällig auch hierher kommen: Eine funktionierende Version befindet sich in Backports: apt-get install nethogs/jessie-backports( Sie müssen zuerst jessie-backports hinzufügen ).
Tino
1
"es zeigt Verkehr pro Prozess" genau das, was ich brauchte, danke!
Paul Feakins
52

Es gibt ein nettes Tool namens Tachometer , das im Terminal ein Diagramm mit Unicode-Blockzeichen und Farben anzeigt und sogar jedem Peak im Diagramm Beschriftungen hinzufügt.

$ sudo apt-get install speedometer
$ speedometer -l  -r wlan0 -t wlan0 -m $(( 1024 * 1024 * 3 / 2 ))

Screenshot nach dem Ausführen des vorherigen Befehls

Es bietet mehrere Optionen, kann mehrere Benutzeroberflächen überwachen, mehrere Grafiken in mehreren Zeilen oder Spalten anzeigen und sogar die Download-Geschwindigkeit einer einzelnen Datei überwachen (indem die Dateigröße auf der Festplatte überwacht wird).

Denilson Sá Maia
quelle
2
Dies ist mit Abstand das schönste visuelle Diagramm, das ich je in einer Nur-Text-Anzeige gesehen habe. Ich werde jetzt in die GUI-Bibliothek des gleichen Autors schauen : urwid.org (Quellcode und Autor: github.com/wardi )
ThorSummoner
1
@ThorSummoner: Dies ist ein Thema, aber urwid ist die Bibliothek, die vom großartigen PuDB- Python-Debugger verwendet wird.
Denilson Sá Maia
Dies befindet sich nur bei "Warten auf <Schnittstelle> erstellt werden".
Felwithe
@felwithe Das bedeutet wahrscheinlich, dass Sie den falschen Netzwerkschnittstellennamen übergeben haben. Versuchen Sie wlan0, diesen Befehl in eth0oder auf den Namen der Netzwerkschnittstelle in Ihrem System zu ändern . Siehe auch: unix.stackexchange.com/a/125406
Denilson Sá Maia
@ DenilsonSáMaia habe ich nicht; Ich habe das überprüft. Ich habe auch die anderen Schnittstellen ausprobiert. Das war die ganze Zeit, in der ich damit herumspielen musste. Ich hatte Netzwerkprobleme und musste ein Tool finden, das so schnell wie möglich funktionierte. Ich habe eine der einfachen verwendet und es stellte sich heraus, dass das Problem ohnehin nicht die Bandbreite war.
Felwithe
46

iptraf

IPTraf ist ein konsolenbasiertes Netzwerkstatistik-Dienstprogramm für Linux. Es werden verschiedene Daten erfasst, z. B. die Anzahl der TCP-Verbindungspakete und -Bytes, Schnittstellenstatistiken und Aktivitätsindikatoren, TCP / UDP-Datenverkehrsstörungen sowie die Anzahl der LAN-Stationspakete und -Bytes.

Eigenschaften

Ein IP-Verkehrsmonitor, der Informationen zum IP-Verkehr in Ihrem Netzwerk anzeigt. Enthält TCP-Flag-Informationen, Paket- und Byte-Zählungen, ICMP-Details und OSPF-Pakettypen. Allgemeine und detaillierte Schnittstellenstatistiken mit Angaben zu IP-, TCP-, UDP-, ICMP-, Nicht-IP- und anderen IP-Paketen, IP-Prüfsummenfehlern, Schnittstellenaktivität und Anzahl der Pakete. Ein TCP- und UDP-Dienstmonitor, der die Anzahl der eingehenden und ausgehenden Pakete für allgemeine TCP- und UDP-Anwendungsports anzeigt. Ein LAN-Statistikmodul, das aktive Hosts erkennt und Statistiken anzeigt, die die Datenaktivität auf diesen TCP-, UDP- und anderen Protokollanzeigefiltern anzeigen Zeigen Sie nur den Datenverkehr an, an dem Sie interessiert sind. Protokollierung Unterstützt die Schnittstellentypen Ethernet, FDDI, ISDN, SLIP, PPP und Loopback. Verwendet die integrierte Raw-Socket-Schnittstelle des Linux-Kernels. Damit kann es über eine Vielzahl von unterstützten Netzwerkkarten verwendet werden. Menügesteuerte Bedienung im Vollbildmodus.

Anerkannte Protokolle

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

Nicht-IP-Pakete werden einfach als "Nicht-IP" gekennzeichnet und in Ethernet-LANs mit den entsprechenden Ethernet-Adressen versorgt.

Unterstützte Schnittstellen

Local Loopback Alle von Linux unterstützten Ethernet-Schnittstellen Alle von Linux unterstützten FDDI-Schnittstellen SLIP Asynchrones PPP Synchrones PPP über ISDN ISDN mit Raw IP-Kapselung ISDN mit Cisco HDLC-Kapselung Parallel Line IP

Quelle http://iptraf.seul.org/about.html

Installation

Mit apt:

apt-get install iptraf

Oder laden Sie die Quelle herunter:

http://iptraf.seul.org/download.html

Screenshots

Aktuelle Verbindungen:

TCP-Verbindungen

Aktuelle Ports:

Bildbeschreibung hier eingeben

Zusammenfassung aller Schnittstellen:

Bildbeschreibung hier eingeben

Detailliert pro Schnittstelle:

Bildbeschreibung hier eingeben

Quelle http://iptraf.seul.org/shots.html

jpillora
quelle
In Ubuntu 18.04 sieht es so aus, als ob iptraf-nges ersetzt wurde iptraf.
wisbucky
24
tcpdump -i eth0 

Dadurch erhalten Sie eine Streaming-Information über alle Daten, die von dieser Schnittstelle (Ihrer Ethernet-Karte) stammen. Ähnlich wie wireshark.

Verwenden Sie ifconfigdiese Option , um eine Liste der Schnittstellen Ihrer Maschine anzuzeigen.

wardr
quelle
1
Hier werden mit Sicherheit die Netzwerkinformationen angezeigt ... Es ist weder eine sehr benutzerfreundliche Benutzeroberfläche noch hat sie zusammengefasste Statistiken. Stellen Sie sich das auf jeden Fall wie einen Wireshark vor.
User2943160
22

Ich denke, das ifconfig [interface]wird es tun. Mögen:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 Verbindungskapsel: Ethernet HWaddr 00: 18: de: 89: 52: 71  
          BROADCAST MULTICAST MTU: 1500 Metrisch: 1
          Empfangspakete: 0 Fehler: 0 Verworfen: 0 Überschreitungen: 0 Rahmen: 0
          TX-Pakete: 0 Fehler: 0 verworfen: 0 Überläufe: 0 Träger: 0
          Kollisionen: 0 txqueuelen: 1000 
          RX-Bytes: 0 (0,0 B) TX-Bytes: 0 (0,0 B)

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig eth0
eth0-Verbindungskapsel: Ethernet HWaddr 00: 16: 36: bf: 92: e3  
          inet addr: 192.168.10.100 Bcast: 192.168.10.255 Mask: 255.255.255.0
          inet6 addr: fe80 :: 216: 36ff: febf: 92e3 / 64 Gültigkeitsbereich: Link
          UP BROADCAST RUNNING MULTICAST MTU: 1500 Metrisch: 1
          RX-Pakete: 342765 Fehler: 0 verworfen: 0 Überläufe: 0 Rahmen: 0
          TX-Pakete: 306183 Fehler: 0 verworfen: 0 Überläufe: 0 Träger: 0
          Kollisionen: 0 txqueuelen: 1000 
          Empfangsbytes: 373934806 (373,9 MB) Sendebytes: 39111569 (39,1 MB)
          Unterbrechung: 16 

Es werden die RX-Bytes 73934806 (373,9 MB) und die TX-Bytes 39111569 (39,1 MB) angezeigt .

hingev
quelle
2
Dies ist jedoch nur die Gesamtstatistik für diese Sitzung. Ich würde sehen, ob die Verbindung aktiv ist oder nicht.
IndexOutOfBoundsException
6
netstat -t -u -c?
hingev
14

Ein weiteres nützliches Tool ist sar. Es installieren,

apt install sysstat

Wie man es benutzt:

sar -n DEV  1

Und Brendans erstaunlicher Diagrammführer: Bildbeschreibung hier eingeben

Verweise

firo
quelle
+1 für das Erwähnen sar, welches die Arbeit erledigt und standardmäßig in den meisten, wenn nicht allen Distributionen enthalten (und aktiviert) ist.
Vladr
13

Installieren Sie 'vnstat', um den Datenverkehr für eine Schnittstelle anzuzeigen. Sie können einige Plot-Pakete installieren, um einige schöne Grafiken zu erhalten.

McNisse
quelle
1
Dies scheint die beste Option zu sein , um eine Nutzungshistorie zu erhalten: askubuntu.com/questions/1459/...
Ciro Santilli新疆改造中心法轮功六四事件
13

Wenn Sie etwas sehr Einfaches, aber dennoch Nützliches suchen, versuchen Sie es ifstat

$ sudo apt-get install ifstat
$ ifstat
       eth0               wlan0       
 KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.96      4.79
    0.00      0.00      0.04      0.14

Es überwacht alle Schnittstellen gleichzeitig und druckt jede Sekunde eine neue Zeile. Nützlich, um in ein anderes Skript weiterzuleiten oder um die Bandbreitennutzung über einen längeren Zeitraum zu überwachen. Nicht so hübsch wie andere Tools, aber es erledigt die Arbeit.

In der Manpage sind einige nützliche Optionen aufgeführt :

-z  Hides interface which counters are null, eg interfaces that are up but not used.
-n  Turns off displaying the header periodically.
-t  Adds a timestamp at the beginning of each line.
-T  Reports total bandwith for all monitored interfaces.
-S  Keep stats updated on the same line if possible (no scrolling nor wrapping).
-b  Reports bandwith in kbits/sec instead of kbytes/sec.
Denilson Sá Maia
quelle
1
Ich liebe diesen Befehl ifstat -zntS:, der nur Netzwerkschnittstellen ausgibt, die nicht null sind, mit Zeitstempeln, ohne dass der Header in regelmäßigen Abständen angezeigt wird und mit Ergebnissen in nur einer Zeile (ich liebe Manpages).
Igor V.
11

Auch könnten Sie iftopDienstprogramm verwenden

Versager
quelle
8

Ifstat ist ein gutes Tool, mit dem Sie die gesamte Netzwerknutzung der Benutzeroberfläche in Bezug auf die Zeit ermitteln können.

sudo apt-get install ifstat

Bildbeschreibung hier eingeben

GNK
quelle
7

Dies ist nicht netzwerkspezifisch, aber Glances kann den Netzwerkverkehr verschiedener Schnittstellen anzeigen.

Bildbeschreibung hier eingeben

Installieren Sie es mit einem dieser Befehle:

sudo snap install glances
sudo apt install glances
NatoBoram
quelle
6

Laut ifconfig man :

Dieses Programm ist veraltet! Zum Ersetzen überprüfen Sie die IP-Adresse und den IP-Link. Für Statistiken benutze ip -s link.

Also mit dem Befehl ip :

 $ ip -s link

Wir können Netzwerkstatistiken erhalten:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    173654497900 26078946 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    173654497900 26078946 0       0       0       0
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    3650412438854 399476618 0       2551849 0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617437624480 321390259 0       0       0       0

Oder

$ ip -s -h link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    174G       26.1M    0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    174G       26.1M    0       0       0       0 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    3.65T      399M     0       2.55M   0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617G       321M     0       0       0       0
Ruslan
quelle
2

Ich habe kürzlich entdeckt, wavemonwelche einfach mit installiert werden können apt-get install wavemon.

Dieses Tool liefert Informationen insbesondere zum Signalpegel des Funknetzes.

IndexOutOfBoundsException
quelle
2

Und dies ist ein Blog mit einer Liste von Befehlen zur Überwachung der Bandbreite:

http://www.binarytides.com/linux-commands-monitor-network/

AKTUALISIEREN:

Ich benutze NetHogs seit ungefähr zwei Monaten. Es zeigt Ihnen die gesamte Bandbreitennutzung. Mit der folgenden Einstellung können Sie zusätzlich die Bandbreitennutzung für jedes Programm ermitteln

sudo nethogs -v 3

Asme Just
quelle
1

Es gibt auch Conky .

Möglicherweise ist das Paket in den aktuell verwendeten Repositorys Ihres Systems aufgeführt. Versuche es mit:

sudo apt-get install conky-all

Einige grundlegende Konfigurationsinformationen: Ubuntu Community Docs: Conky konfigurieren . VORSICHT: Die Informationen auf dieser Site sind möglicherweise nicht mehr aktuell. Überprüfen Sie daher, ob die dort aufgeführten Schritte auf Ihr System zutreffen.

Natürlich ist ein einfacher Conky sehr langweilig anzusehen. Hier ist ein gutes Conky-Thema, um Ihnen den Einstieg zu erleichtern:

Harmattan

Folgen Sie einfach den Anweisungen auf dieser Seite für die Einrichtung. Um ein bestimmtes Thema zu installieren, kopieren Sie die .conkyrcDatei aus dem entsprechenden Ordner des Themas in .harmattan-themesIhr Ausgangsverzeichnis.

Bearbeiten Sie dann die Datei gemäß den Anweisungen auf der verknüpften Seite.

SPITZE

Ändern Sie die Datei, nachdem Sie sie in Ihren Ausgangsordner kopiert haben. Auf diese Weise behalten Sie die ursprünglichen, unveränderten Dateien, falls Sie die .conkyrcDatei für ein Thema erneut kopieren müssen .

ThisIsNotAnId
quelle
1

nettop ist eine andere Option (nicht in den Standard-Linux-Repos).

So erstellen Sie den Klon des Repos:

git clone https://github.com/Emanem/nettop.git

Installieren Sie die Abhängigkeiten:

sudo apt-get install libncurses5-dev libncursesw5-dev build-essential libpcap-dev

Und baue die Binärdatei:

make

Laufen mit:

sudo ./nettop

Übrigens hat macos ein eingebautes Hilfsprogramm namens, nettopdas das Gleiche tut, aber über mehr Funktionen verfügt.

ccpizza
quelle
0

Für mich hat Slurm gut funktioniert:

Installieren:

sudo apt install slurm

Listen Sie die Schnittstellen auf

ifconfig

Monitorschnittstelle (Änderung eth0):

slurm -i eth0
DaWe
quelle