Jak wyświetlić ruch sieciowy w terminalu?

395

jak wyświetlić rzeczywisty ruch sieciowy (bezprzewodowy) w terminalu?

Dodatkowo: Czy można dodać te informacje do tabeli top?

IndexOutOfBoundsException
źródło
3
Wszelkie rozwiązania dla „Czy można dodać te informacje do tabeli top?” część? :)
Janaka Bandara,
1
@JanakaBandara sprawdź Spojrzenia .
ESala,

Odpowiedzi:

432

Oto kilka ładnych narzędzi w repozytoriach Ubuntu do monitorowania ruchu sieciowego w linii poleceń:

bmon - pokazuje wiele interfejsów jednocześnie

wprowadź opis zdjęcia tutaj

slurm - ma ładne kolorowe wykresy

wprowadź opis zdjęcia tutaj

tcptrack - Ulubiony. Informuje, ile przepustowości jest używane, a także do jakiego protokołu (usługi / portu) i miejsca docelowego odbywa się transmisja. Bardzo pomocne, gdy chcesz dokładnie wiedzieć, co zużywa przepustowość

wprowadź opis zdjęcia tutaj

tomodachi
źródło
8
Bmon jest naprawdę fajny! ma wykres podobny do slurm, ale nie kolorowy.
Ethereal
26
sudo apt-get install bmon slurm tcptrack
Nabil Kadimi,
3
nloadzasługuje na wzmiankę o lepszej separacji wysyłania i pobierania (również nie kolorowe)
Chris
1
tcptrack jest fajny!
Robert
sudo apt install ethstatus
isync
146

To całkiem proste! zainstaluj „iftop” z:

sudo apt-get install iftop

Następnie uruchomić

sudo iftop

z dowolnego terminala!

Cieszyć się!

Tribaal
źródło
8
Aby zobaczyć cokolwiek, muszę uruchomić (Ubuntu przy użyciu Wi-Fi): $ sudo iftop -i wlan0
russian_spy
ma iftoprównież nagrywać lub zalogować przepustowość sieci od czasu do czasu? Obecnie używam obu vnstati iftopdo różnych zastosowań i vnstatrejestruje wykorzystanie przepustowości. Byłoby to nadmierne i dodałoby więcej obciążeń do mojego serwera, jeśli iftopto zrobi.
Oki Erie Rinaldi,
132

Ktoś powinien również wspomnieć nethogs.

To, co jest inne i być może fajniejsze w tym przypadku, to to, że pokazuje ruch na proces , jak na zdjęciu

wprowadź opis zdjęcia tutaj

Spójrz na stronę

arsaKasra
źródło
8
Aby zainstalować: sudo apt-get -y install nethogsnastępniesudo nethogs
bmaupin
Bardzo przydatne narzędzie, pamiętaj, że może być konieczne wykonanie kilku dodatkowych kroków instalacyjnych, aby działało ono 14.04, jak opisuje askubuntu.com/a/729560/79176 .
Ogromny
Dla tych z Debianem Jessie, którzy również tu przyjechali: Działająca wersja znajduje się w Backports: apt-get install nethogs/jessie-backports( najpierw musisz dodać jessie-backports ).
Tino
1
„Pokazuje ruch na proces” dokładnie to, czego potrzebowałem, dzięki!
Paul Feakins
52

Jest ładne narzędzie o nazwie prędkościomierz, które wyświetla wykres w terminalu za pomocą znaków bloku Unicode, kolorów, a nawet dodaje etykiety do każdego piku na wykresie.

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

Zrzut ekranu po uruchomieniu poprzedniego polecenia

Ma kilka opcji, może monitorować wiele interfejsów, może wyświetlać wiele wykresów w kilku wierszach lub kolumnach, a nawet może monitorować prędkość pobierania pojedynczego pliku (obserwując rozmiar pliku na dysku).

Denilson Sá Maia
źródło
2
To zdecydowanie najładniejszy wykres wizualny, jaki kiedykolwiek widziałem na zwykłym wyświetlaczu tekstowym. Będę teraz przeglądał bibliotekę GUI tego samego autora: urwid.org (kod źródłowy i autor: github.com/wardi )
ThorSummoner
1
@ThorSummoner: To nie na temat, ale urwid jest biblioteką używaną przez niesamowity debugger Python PuDB .
Denilson Sá Maia,
To po prostu siedzi na „czeka na <interfejs> do utworzenia”.
felwithe
@felwithe To prawdopodobnie oznacza, że ​​podałeś niewłaściwą nazwę interfejsu sieciowego. Spróbuj zmienić wlan0to polecenie na eth0dowolną nazwę interfejsu sieciowego w systemie. Zobacz także: unix.stackexchange.com/a/125406
Denilson Sá Maia
@ DenilsonSáMaia Nie zrobiłem; Sprawdziłem to. Wypróbowałem również inne interfejsy. To był cały czas, kiedy musiałam się nim bawić. Miałem problemy z siecią i musiałem znaleźć narzędzie, które działało jak najszybciej. Użyłem jednego z prostych i okazało się, że problemem nie była przepustowość.
felwithe
46

iptraf

IPTraf to konsolowe narzędzie do statystyki sieci dla systemu Linux. Gromadzi różne liczby, takie jak liczba połączeń i bajtów połączeń TCP, statystyki interfejsu i wskaźniki aktywności, awarie ruchu TCP / UDP oraz liczba pakietów i bajtów stacji LAN.

cechy

Monitor ruchu IP, który pokazuje informacje o ruchu IP przechodzącym przez sieć. Obejmuje informacje o flagach TCP, liczbę pakietów i bajtów, szczegóły ICMP, typy pakietów OSPF. Ogólne i szczegółowe statystyki interfejsu pokazujące liczbę pakietów IP, TCP, UDP, ICMP, innych niż IP i inne, błędy sumy kontrolnej IP, aktywność interfejsu, liczby pakietów. Monitor usług TCP i UDP pokazujący liczbę pakietów przychodzących i wychodzących dla typowych portów aplikacji TCP i UDP Moduł statystyczny LAN, który wykrywa aktywne hosty i pokazuje statystyki pokazujące aktywność danych na nich TCP, UDP i inne filtry wyświetlania protokołu, pozwalając na wyświetl tylko ruch, który Cię interesuje. Rejestrowanie Obsługuje typy interfejsów Ethernet, FDDI, ISDN, SLIP, PPP i loopback. Wykorzystuje wbudowany interfejs typu raw gniazda jądra Linux, dzięki czemu można go używać z szeroką gamą obsługiwanych kart sieciowych. Pełny ekran, obsługa za pomocą menu.

Uznane protokoły

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

Pakiety inne niż IP będą po prostu oznaczone jako „Non-IP”, aw sieciach Ethernet LAN będą dostarczane z odpowiednimi adresami Ethernet.

Obsługiwane interfejsy

Lokalna pętla zwrotna Wszystkie interfejsy Ethernet obsługiwane przez system Linux Wszystkie interfejsy FDDI obsługiwane przez system Linux SLIP Asynchroniczne PPP Synchroniczne PPP przez ISDN ISDN z enkapsulacją Raw IP ISDN z enkapsulacją Cisco HDLC Parallel Line IP

Źródło http://iptraf.seul.org/about.html

Instalacja

Z apt:

apt-get install iptraf

Lub pobierz źródło:

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

Zrzuty ekranu

Aktualne połączenia:

połączenia TCP

Bieżące porty:

wprowadź opis zdjęcia tutaj

Podsumowanie wszystkich interfejsów:

wprowadź opis zdjęcia tutaj

Szczegółowo według interfejsu:

wprowadź opis zdjęcia tutaj

Źródło http://iptraf.seul.org/shots.html

jpillora
źródło
W Ubuntu 18.04 wygląda na to, że iptraf-ngzostał zastąpiony iptraf.
wisbucky
24
tcpdump -i eth0 

To da ci informacje strumieniowe o wszystkich danych płynących z tego interfejsu (twojej karty ethernetowej). Podobne do wireshark.

Użyj, ifconfigaby zobaczyć listę interfejsów twoich maszyn.

Wardr
źródło
1
To z pewnością wyświetli informacje o sieci ... Niezbyt przyjazny interfejs użytkownika, ani nie ma zagregowanych statystyk. Zdecydowanie pomyśl o tym jak o wireshark.
user2943160,
22

Myślę, że ifconfig [interface]to zrobi. Lubić:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 Link encap: Ethernet HWaddr 00: 18: de: 89: 52: 71  
          BROADCAST MULTICAST MTU: 1500 Metryczne: 1
          Pakiety RX: 0 błędów: 0 odrzuconych: 0 przekroczeń: 0 ramek: 0
          Pakiety TX: 0 błędów: 0 odrzuconych: 0 przekroczeń: 0 nośnych: 0
          kolizje: 0 txqueuelen: 1000 
          Bajty RX: 0 (0,0 B) Bajty TX: 0 (0,0 B)

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig eth0
eth0 Link encap: Ethernet HWaddr 00: 16: 36: bf: 92: e3  
          adres inet: 192.168.10.100 Bcast: 192.168.10.255 Maska: 255.255.255.0
          inet6 addr: fe80 :: 216: 36ff: febf: 92e3 / 64 Zakres: Link
          UP BROADCAST RUNNING MULTICAST MTU: 1500 Metryczne: 1
          Pakiety RX: 342765 błędów: 0 odrzuconych: 0 przekroczeń: 0 ramek: 0
          Pakiety TX: 306183 błędy: 0 odrzucone: 0 przekroczeń: 0 operator: 0
          kolizje: 0 txqueuelen: 1000 
          Bajty RX: 373934806 (373,9 MB) Bajty TX: 39111569 (39,1 MB)
          Przerwanie: 16 

Pokazuje bajty RX: 73934806 (373,9 MB) i bajty TX: 39111569 (39,1 MB) .

Hingev
źródło
2
ale to tylko ogólna statystyka dla tej sesji. Chciałbym sprawdzić, czy połączenie jest aktywne, czy nie.
IndexOutOfBoundsException
6
netstat -t -u -c?
hingev
14

Kolejnym przydatnym narzędziem jest sar. Zainstaluj to,

apt install sysstat

Jak tego użyć:

sar -n DEV  1

I niesamowity przewodnik po wykresach Brendana: wprowadź opis zdjęcia tutaj

Bibliografia

firo
źródło
+1 za wzmiankę sar, która wykonuje zadanie i jest domyślnie włączona (i włączona) w większości, jeśli nie we wszystkich dystrybucjach.
vladr
13

Zainstaluj „vnstat”, aby wyświetlić ruch dla interfejsu. Możesz zainstalować kilka pakietów wydruku, aby uzyskać ładne wykresy.

McNisse
źródło
1
To wydaje się być najlepszą opcją, aby uzyskać historię użytkowania: askubuntu.com/questions/1459/…
Ciro Santilli 26 26 中心 法轮功 六四 事件
13

Jeśli szukasz czegoś niezwykle prostego, ale wciąż przydatnego, spróbuj 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

Monitoruje wszystkie interfejsy jednocześnie, drukując nową linię co sekundę. Przydatne do przejścia do innego skryptu lub pozostawienia uruchomionego i obserwowania zużycia przepustowości w czasie. Nie tak ładne jak inne narzędzia, ale wykonuje zadanie.

Na stronie podręcznej znajduje się kilka przydatnych opcji :

-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
źródło
1
Uwielbiam to polecenie ifstat -zntS:, które wyświetla tylko interfejs sieciowy, który nie ma wartości NULL, ze znacznikami czasu, bez okresowego wyświetlania nagłówka oraz z wynikiem tylko w jednej linii (uwielbiam strony podręcznika man).
Igor V.
11

Możesz także użyć iftopnarzędzia

failor
źródło
8

Ifstat jest dobrym narzędziem i da ci całe użycie interfejsu sieci w stosunku do czasu.

sudo apt-get install ifstat

wprowadź opis zdjęcia tutaj

GNK
źródło
7

Nie dotyczy to sieci, ale Spojrzenia mogą wyświetlać ruch sieciowy różnych interfejsów.

wprowadź opis zdjęcia tutaj

Zainstaluj go za pomocą jednego z następujących poleceń:

sudo snap install glances
sudo apt install glances
NatoBoram
źródło
6

Według człowieka ifconfig :

Ten program jest przestarzały! Aby wymienić, sprawdź adres IP i łącze ip. Do statystyk użyj łącza ip -s.

Więc używając polecenia ip :

 $ ip -s link

Możemy uzyskać statystyki sieci:

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

Lub

$ 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
źródło
2

Niedawno odkryłem, wavemonktóre można łatwo zainstalować za pomocą apt-get install wavemon.

To narzędzie dostarcza informacji, zwłaszcza na temat poziomu sygnału sieci bezprzewodowej.

IndexOutOfBoundsException
źródło
2

A to jest blog pokazujący listę poleceń do monitorowania przepustowości:

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

AKTUALIZACJA:

Używam NetHogs od około dwóch miesięcy. Pokazuje całkowite wykorzystanie przepustowości. Dzięki poniższemu ustawieniu możesz dodatkowo uzyskać wykorzystanie przepustowości dla każdego programu

sudo nethogs -v 3

Asme Just
źródło
1

Jest też conky .

Być może pakiet znajduje się na liście w aktualnie używanych repozytoriach systemu. Spróbuj uruchomić:

sudo apt-get install conky-all

Kilka podstawowych informacji o konfiguracji: Dokumenty społeczności Ubuntu: Konfigurowanie Conky . PRZESTROGA: Informacje na tej stronie mogą być nieaktualne, więc sprawdź, czy podane tam kroki dotyczą Twojego systemu.

Oczywiście podstawowy koziołek jest bardzo nudny, więc oto dobry motyw koziołka na początek:

Harmattan

Postępuj zgodnie z instrukcjami na tej stronie, aby skonfigurować; aby zainstalować konkretny motyw, skopiuj .conkyrcplik z odpowiedniego folderu motywu w .harmattan-themesfolderze do katalogu domowego.

Następnie edytuj plik zgodnie z instrukcjami na połączonej stronie.

WSKAZÓWKA

Zmodyfikuj plik po skopiowaniu go do folderu domowego, w ten sposób możesz zachować oryginalne niezmienione pliki na wypadek, gdybyś musiał ponownie skopiować .conkyrcplik dla motywu.

ThisIsNotAnId
źródło
1

nettop jest kolejną opcją (nie w standardowych repozytoriach Linuksa).

Aby zbudować klonowanie repozytorium:

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

Zainstaluj zależności:

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

I zbuduj plik binarny:

make

Biegnij z:

sudo ./nettop

Btw, macos ma wbudowane narzędzie o nazwie, nettopktóre robi to samo, ale ma więcej funkcji.

ccpizza
źródło
0

Dla mnie Slurm działał dobrze:

Zainstalować:

sudo apt install slurm

Lista interfejsów

ifconfig

Interfejs monitora (zmiana eth0):

slurm -i eth0
DaWe
źródło