Как отобразить сетевой трафик в терминале?


397

Как отобразить фактический сетевой трафик (беспроводной) в терминале?

Дополнительно: возможно ли добавить эту информацию в график top?


3
Любые решения для "Можно ли добавить эту информацию на график top?" часть? :)
Джанака Бандара

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 с помощью Wi-Fi): $ sudo iftop -i wlan0
russian_spy

делает iftopтакже запись или войти в пропускной способности сети время от времени? В настоящее время я использую оба vnstatи iftopдля различного использования, и vnstatрегистрирует использование пропускной способности. Это было бы чрезмерно и добавило бы больше нагрузок на мой сервер, если бы iftopэто тоже делалось.
Оки Эри Ринальди

133

Кто-то должен был также упомянуть 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( сначала нужно добавить jessie-backports ).
Тино

1
«он показывает трафик на процесс» именно то, что мне нужно, спасибо!
Пол Фекинс

52

Есть хороший инструмент, который называется спидометр, который отображает график в терминале, используя символы, цвета блока Юникода, и даже добавляет метки к каждому пику на графике.

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

Снимок экрана после запуска предыдущей команды

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


2
Это, безусловно, самый красивый визуальный график, который я когда-либо видел на обычном текстовом дисплее. Сейчас я буду искать в библиотеке графического интерфейса того же автора: urwid.org (исходный код и автор: github.com/wardi )
ThorSummoner

1
@ThorSummoner: это становится не по теме, но urwid - это библиотека, используемая замечательным отладчиком PyDB Python.
Денилсон Са Майя

Это просто "ожидание создания <interface>".
felwithe

@felwithe Это, вероятно, означает, что вы передали неправильное имя сетевого интерфейса. Попробуйте wlan0в этой команде изменить eth0имя или на любое другое имя сетевого интерфейса в вашей системе. См. Также: unix.stackexchange.com/a/125406
Денилсон Са Майя,

@ DenilsonSáMaia - нет; Я проверил это. Я пробовал и другие интерфейсы. Это было все время, я должен был возиться с этим. У меня были проблемы с сетью, и я должен был найти инструмент, который работал как можно скорее. Я использовал один из простых, и оказалось, что проблема не в пропускной способности в любом случае.
августа

46

IPTraf

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, будут просто обозначены как «Non-IP» и в локальных сетях Ethernet будут снабжены соответствующими адресами Ethernet.

Поддерживаемые интерфейсы

Локальная обратная связь Все поддерживаемые Linux интерфейсы Ethernet Все поддерживаемые Linux интерфейсы FDDI SLIP Асинхронный PPP Синхронный PPP через ISDN ISDN с инкапсуляцией Raw IP ISDN с инкапсуляцией Cisco HDLC Parallel Line 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 

Это даст вам потоковую информацию обо всех данных, поступающих с этого интерфейса (вашей сетевой карты). Похоже на проволочную акулу.

Используйте, ifconfigчтобы увидеть список интерфейсов ваших машин.


1
Это, безусловно, будет отображать информацию о сети ... Не очень удобный интерфейс, и при этом у него нет общей статистики. Определенно думайте об этом как проволочная акула.
user2943160

22

Я думаю, ifconfig [interface]что сделаю это. Подобно:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 Link encap: Ethernet HWaddr 00: 18: de: 89: 52: 71  
          MRODCAST MULTICAST MTU: 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  
          адрес в сети Интернет: 192.168.10.100 Bcast: 192.168.10.255 Маска: 255.255.255.0
          inet6 адрес: fe80 :: 216: 36ff: febf: 92e3 / 64 Область действия: ссылка
          UP BROADCAST RUNNING MULTICAST MTU: 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?
Хингев

14

Еще одним полезным инструментом является Сар. Установить его,

apt install sysstat

Как это использовать:

sar -n DEV  1

И удивительный путеводитель Брендана: введите описание изображения здесь

Рекомендации


+1 за упоминание sar, которое выполняет работу и включено (и включено) по умолчанию с большинством, если не со всеми дистрибутивами.
Влад


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выводит только сетевые интерфейсы, которые не являются нулевыми, с временными метками, без заголовка, периодически показывающего и с результатами только в одной строке (я люблю man-страницы).
Игорь В.


8

Ifstat - это хороший инструмент, который предоставит вам все возможности использования сети интерфейса в зависимости от времени.

sudo apt-get install ifstat

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


7

Это не относится к работе в сети, но Glances может отображать сетевой трафик различных интерфейсов.

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

Установите его с помощью одной из этих команд:

sudo snap install glances
sudo apt install glances

6

По словам человека ifconfig :

Эта программа устарела! Для замены проверьте IP-адрес и 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 . ВНИМАНИЕ: информация на этом сайте может быть устаревшей, поэтому, пожалуйста, проверьте, что перечисленные шаги применимы к вашей системе.

Конечно, на базовый conky смотреть очень скучно, поэтому вот хорошая тема conky, с которой можно начать:

Harmattan

Просто следуйте инструкциям на этой странице для настройки; чтобы установить определенную тему, скопируйте .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

Для меня Слёрм работал хорошо:

Установка:

sudo apt install slurm

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

ifconfig

Интерфейс монитора (изменить eth0):

slurm -i eth0
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.