Як відобразити мережевий трафік у терміналі?


395

як відобразити фактичний мережевий трафік (бездротовий) у терміналі?

Додатково: Чи можна додати цю інформацію до діаграми top?


3
Будь-які рішення для "Чи можна додати цю інформацію до діаграми top?" частина? :)
Janaka Bandara

1
@JanakaBandara перевірити погляди .
ESala

Відповіді:


432

Ось кілька приємних інструментів у сховищах Ubuntu для моніторингу мережевого трафіку командного рядка:

bmon - показує відразу декілька інтерфейсів

введіть тут опис зображення

slurm - має приємні кольорові графіки

введіть тут опис зображення

tcptrack - Улюблений. Показує, яка пропускна здатність використовується, а також протокол (послуга / порт) та пункт призначення, для якого здійснюється передача. Дуже корисно, коли ви хочете точно знати, що використовує вашу пропускну здатність

введіть тут опис зображення


8
bmon - це справді класно! має такий графік, як слизма, але не барвистий.
Ethereal

26
sudo apt-get install bmon slurm tcptrack
Набіл Кадімі

3
nloadзаслуговує на згадку для кращого розділення завантаження та завантаження (теж не барвисте)
Кріс

1
tcptrack класно!
Роберт

sudo apt install ethstatus
isync

146

Це досить просто! встановіть "iftop" за допомогою:

sudo apt-get install iftop

Потім бігайте

sudo iftop

з будь-якого терміналу!

Насолоджуйтесь!


8
Щоб побачити що-небудь, мені потрібно запустити (Ubuntu за допомогою wifi): $ sudo iftop -i wlan0
russian_spy

робить iftopтакож запис або увійти в пропускної здатності мережі час від часу? В даний час я використовую як vnstatі iftopдля іншого використання, і vnstatреєструю використання пропускної здатності. Це було б надмірним і додасть більше навантажень на мій сервер, якщо iftopце теж буде.
Окі Ері Рінальді

132

Хтось теж повинен був згадати nethogs.

Річ, яка відрізняється і, можливо, крутіше в цьому, - це те, що він показує трафік за процес , як показано на зображенні

введіть тут опис зображення

Погляньте на сторінку


8
Щоб встановити: sudo apt-get -y install nethogsтодіsudo nethogs
bmaupin

Дуже корисна утиліта, просто зауважте, що вам може знадобитися зробити кілька додаткових кроків, щоб встановити її, щоб вона працювала 14.04, як описано askubuntu.com/a/729560/79176 .
Величезний

Для тих, хто з Debian Jessie, який також заходить сюди: Робоча версія знаходиться в Backports: apt-get install nethogs/jessie-backports( спочатку потрібно додати Джессі-бекспорти ).
Тіно

1
"це показує трафік за процес" саме те, що мені було потрібно, дякую!
Пол Феакінс

52

Є приємний інструмент під назвою спідометр, який відображає графік у терміналі, використовуючи символи блоку Unicode, кольори та навіть додаючи мітки до кожного піку графіка.

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

Знімок екрана після запуску попередньої команди

Він має кілька варіантів, може контролювати декілька інтерфейсів, може показувати кілька графіків у декількох рядках або стовпцях і навіть може контролювати швидкість завантаження одного файлу (спостерігаючи за розміром файлу на диску).


2
Це, безумовно, найкращий візуальний графік, який я коли-небудь бачив на простому текстовому дисплеї. Я зараз загляну в бібліотеку gui того самого автора: urwid.org (вихідний код та автор: github.com/wardi )
ThorSummoner

1
@ThorSummoner: Це стає поза темою, але urwid - це бібліотека, яку використовує дивовижний налагоджувач PuDB Python.
Denilson Sá Maia

Це просто "очікує на створення інтерфейсу".
Felwit

@felwithe Це, ймовірно, означає, що ви передали неправильну назву мережевого інтерфейсу. Спробуйте змінити wlan0в цій команді на eth0або на те, що називається мережевим інтерфейсом у вашій системі. Дивіться також: unix.stackexchange.com/a/125406
Denilson Sá Maia

@ DenilsonSáMaia я цього не зробив; Я це перевірив. Я спробував і інші інтерфейси. Це був весь час, коли я мав з цим поспілкуватися. У мене були проблеми з мережею, і мені довелося знайти інструмент, який працював якнайшвидше. Я використовував один із простих, і виявилося, що проблема все ж не була пропускною здатністю.
Felwithe

46

іптраф

IPTraf - це консольна утиліта мережевої статистики для Linux. Він збирає різноманітні фігури, такі як підключення пакетів і байтів TCP, статистика інтерфейсу та показники активності, розбиття трафіку TCP / UDP та кількість пакетів і байтів станції LAN.

Особливості

Монітор IP-трафіку, який відображає інформацію про IP-трафік, що проходить через вашу мережу. Включає інформацію про прапор TCP, кількість пакетів і байтів, деталі ICMP, типи пакетів OSPF. Загальна та детальна статистика інтерфейсу, що показує IP, TCP, UDP, ICMP, не-IP та інші підрахунки IP-пакетів, помилки контрольної суми IP, активність інтерфейсу, кількість розмірів пакету. Монітор послуг TCP та UDP, що показує кількість вхідних та вихідних пакетів для загальних портів додатків TCP та UDP Модуль статистики локальної мережі, який виявляє активні хости та показує статистику, що показує активність даних на них TCP, UDP та інші фільтри відображення протоколу, що дозволяє вам перегляд лише трафіку, який вас цікавить. Реєстрація журналу підтримує типи інтерфейсів Ethernet, FDDI, ISDN, SLIP, PPP та loopback. Використовує вбудований інтерфейс необробленого сокета ядра Linux, що дозволяє використовувати його на широкому діапазоні підтримуваних мережевих карт. Повноекранна робота, керована меню.

Протоколи визнані

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

Пакети, що не належать до ІР, будуть просто позначатися як "Не-IP", а в локальній мережі Ethernet надаватимуться відповідні адреси Ethernet.

Підтримувані інтерфейси

Локальний зворотний зв'язок Всі підтримувані Linux інтерфейси Ethernet Усі інтерфейси, підтримувані Linux FDDI інтерфейси SLIP Асинхронний PPP Синхронний PPP через ISDN ISDN з сирим IP-капсуляцією ISDN з інкапсуляцією Cisco HDLC Паралельна лінія IP

Джерело http://iptraf.seul.org/about.html

Установка

З apt:

apt-get install iptraf

Або завантажте джерело:

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

Скріншоти

Поточні з'єднання:

tcp з'єднання

Поточні порти:

введіть тут опис зображення

Короткий огляд усіх інтерфейсів:

введіть тут опис зображення

Детально за інтерфейс:

введіть тут опис зображення

Джерело http://iptraf.seul.org/shots.html


У Ubuntu 18.04, схоже iptraf-ng, замінили iptraf.
Вісбукі

24
tcpdump -i eth0 

Це дасть вам поточну інформацію про всі дані, що надходять із цього інтерфейсу (вашої ethernet-карти). Схожий на wireshark.

Використовуйте ifconfigдля перегляду списку ваших машинних інтерфейсів.


1
Це, безумовно, відобразить мережеву інформацію ... Не дуже зручний інтерфейс, а також не має сукупної статистики. Однозначно подумайте про це як проводку.
користувач2943160

22

Я думаю, що ifconfig [interface]це зроблять. Подібно до:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 Link encap: Ethernet HWaddr 00: 18: de: 89: 52: 71  
          РОЗКЛАДНІ МНОГОСТУ МТУ: 1500 метрик: 1
          Пакети RX: 0 помилок: 0 випало: 0 перевитрат: 0 кадр: 0
          TX-пакети: 0 помилок: 0 випало: 0 перевитрат: 0 оператор: 0
          зіткнення: 0 txqueuelen: 1000 
          RX байти: 0 (0,0 B) TX байти: 0 (0,0 B)

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig eth0
eth0 Link encap: Ethernet HWaddr 00: 16: 36: bf: 92: e3  
          inet addr: 192.168.10.100 Bcast: 192.168.10.255 Маска: 255.255.255.0
          inet6 addr: fe80 :: 216: 36ff: febf: 92e3 / 64 Область застосування: Посилання
          НАГОРОДЖЕННЯ РОЗКЛАДУВАННЯ МУЛЬТИКАСТ МТУ: 1500 метрик: 1
          Пакети RX: 342765 помилок: 0 випали: 0 перевитрати: 0 кадр: 0
          TX-пакети: 306183 помилок: 0 випало: 0 перевитрат: 0 оператор: 0
          зіткнення: 0 txqueuelen: 1000 
          RX байтів: 373934806 (373,9 Мб) TX байт: 39111569 (39,1 Мб)
          Перерва: 16 

Він показує байти RX: 73934806 (373,9 МБ) та байти TX: 39111569 (39,1 Мб) .


2
але це лише загальна статистика цього сеансу. Я побачив би, чи активне з'єднання чи ні.
IndexOutOfBoundsException

6
netstat -t -u -c?
hingev

14

Ще один корисний засіб - sar. Встановіть його,

apt install sysstat

Як ним користуватися:

sar -n DEV  1

І дивовижний графічний посібник Брендана: введіть тут опис зображення

Список літератури


+1 для згадування sar, що виконує завдання і включено (і включено) за замовчуванням з більшістю, якщо не всіма дистрибутивами.
vladr

13

Встановіть "vnstat", він може показувати трафік для інтерфейсу. Ви можете встановити кілька графічних пакетів, щоб отримати гарні графіки.


1
Це здається найкращим варіантом, щоб отримати історію використання: askubuntu.com/questions/1459/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

13

Якщо ви шукаєте щось надзвичайно просте, але все ж корисне, спробуйте 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

Він контролює всі інтерфейси одночасно, друкуючи новий рядок щосекунди. Корисно для передачі в інший сценарій або для запуску та спостереження за використанням пропускної здатності з часом. Не такий гарний, як інші інструменти, але це робить роботу.

Є деякі корисні опції , перераховані в сторінках керівництва :

-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.

1
Мені подобається ця команда:, ifstat -zntSяка виводить лише мережевий інтерфейс, який не є нульовим, із часовими позначками, без заголовка, що періодично відображається та з результатами лише в одному рядку (я люблю людині сторінки).
Ігор В.

11

Також ви можете використовувати iftopутиліту


8

Ifstat - це хороший інструмент, який дасть вам усе використання мережі інтерфейсів щодо часу.

sudo apt-get install ifstat

введіть тут опис зображення


7

Це не характерно для мереж, але Glances може відображати мережевий трафік різних інтерфейсів.

введіть тут опис зображення

Встановіть його за допомогою однієї з таких команд:

sudo snap install glances
sudo apt install glances

6

Відповідно до людини ifconfig :

Ця програма застаріла! Для заміни перевірте ip addr та ip посилання. Для статистики використовуйте ip -s посилання.

Отже, використовуючи команду ip :

 $ ip -s 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
    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

Або

$ 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


2

Нещодавно я виявив, wavemonщо можна легко встановити за допомогою apt-get install wavemon.

Цей інструмент надає інформацію, особливо про рівень сигналу бездротової мережі.


2

А це блог із списком команд для контролю пропускної здатності:

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

ОНОВЛЕННЯ:

Я використовую NetHogs близько двох місяців. Він показує вам загальне використання пропускної здатності. За допомогою наступних налаштувань ви можете додатково отримати пропускну здатність для кожної програми

sudo nethogs -v 3


1

Там теж конічні .

Можливо, пакет буде вказаний у сховищах, що використовуються у вашій системі. Спробуйте запустити:

sudo apt-get install conky-all

Деякі основні відомості про конфігурацію: Документи спільноти Ubuntu: Налаштування Conky . ПОПЕРЕДЖЕННЯ. Інформація на цьому веб-сайті може бути застарілою, тому, будь ласка, переконайтеся, що вказані там кроки стосуються вашої системи.

Звичайно, на базовий конкі дуже нудно дивитись, тож ось хороша тема конькі, щоб розпочати:

Харматтан

Просто дотримуйтесь інструкцій на цій сторінці щодо налаштування; щоб встановити певну тему, скопіюйте .conkyrcфайл із відповідної папки для теми в .harmattan-themesпапці до домашнього каталогу.

Потім відредагуйте файл відповідно до інструкцій на пов’язаній сторінці.

ПОРАДА

Змініть файл після копіювання його в домашній папку, таким чином , ви отримаєте зберегти оригінальні ип змінених файлів в разі , якщо вам необхідно повторно скопіювати .conkyrcфайл для теми.


1

nettop інший варіант (не в стандартних репортажах Linux).

Щоб побудувати клонувати репо:

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

Встановіть залежності:

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

І побудувати двійкове:

make

Виконати з:

sudo ./nettop

До речі, macos має вбудовану утиліту, nettopяка називається, що робить те саме, але має більше можливостей.


0

Для мене Slurm добре працював:

Встановити:

sudo apt install slurm

Список інтерфейсів

ifconfig

Інтерфейс монітора (зміна eth0):

slurm -i eth0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.