Как увидеть каждое соединение использование полосы пропускания?

У меня есть сервер Linux Linux и я хочу видеть текущие сетевые подключения и скорость загрузки / выгрузки каждого из них. Есть ли простая команда, которая выполняет эту цель?

4 ответа

Решение

Доступно множество инструментов, хотя вам придется установить систему сетевого мониторинга для получения информации о пропускной способности каждого процесса.

В порядке простоты настройки:

Простой пакет, который не требует больших настроек - это iftop. Это покажет вам пропускную способность на процесс. скриншот iftop Это, вероятно, то, что вы хотите, если вы хотите простое решение в реальном времени.

  • Чтобы просто получить пропускную способность для интерфейса, bwm-ng небольшой пакет, который показывает использование в режиме реального времени для каждого интерфейса.
  • netstat будет перечислять ваши открытые соединения, и уже должны присутствовать в большинстве систем
  • ntop - очень полезный инструмент для мониторинга системы, который также может отслеживать TCP-соединения для каждого процесса, если вы устанавливаете модуль ядра для поддержки мониторинга сети.
  • Gacti, nagios, ntop и ganglia - это несколько более тяжеловесных систем, которые могут осуществлять мониторинг сети для каждого хоста / системы / службы / протокола / и т. Д. В зависимости от настройки одного сервера для всей сети предприятия. См. Мониторинг сервера MediaWiki для реального примера ganglia В бою.

Есть простой пакет, называемый nethogs, который показывает полосу пропускания, используемую отдельными процессами, и сортирует список, помещая самые интенсивные процессы на первое место.

# Ubuntu or Debian
$ sudo apt install nethogs

# Fedora or CentOS
$ sudo yum install nethogs -y

Непрерывный опрос в режиме реального времени с интервалом в 5 секунд с использованием собственного netstat

netstat --interfaces = eth0 -c 5

Таблица интерфейса ядра

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU

eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU

с помощью awk вы можете просто наблюдать интересующее вас поле, ниже приведенный пример, вы просто будете наблюдать, как 2 столбца RX и TX показывают, сколько пакетов было получено или передано без ошибок (RX-OK / TX-OK)

netstat --interfaces = eth0 -c 5 | awk '{print $ 4 "\ t" $ 8}'

RX-OK TX-OK

605142559 292429624

605142595 292429661

Я использую iptraf для этого.

С Уважением,

http://catcher.hdcs.cz/

Другие вопросы по тегам