Узнаем кто использует сеть в Linux

В Linux существует  множество инструментов для мониторинга сетевой активности. Но большинство из них позволяют контролировать только сетевой трафик от вашего компьютера или конкретного интерфейса. Бывают случаи когда нужно понять какая программа наиболее активно использует сетевое соединение, например если у вы со своим медленным интернетом хотите спокойно посмотреть любимые сайты, а тут какая-то программа начинает что-то качать при чем какая не понятно. Вот для таких случаев есть инструмент NetHogs.

В этой статье мы обсудим установку, настройку и особенности работы с NetHogs.

Как сказано на man странице утилиты, NetHogs — небольшой сетевой монитор. Программа группирует сетевую активность не по протоколу или сети, а по группам процессов.

Если вдруг что-то начинает активно использовать интернет соединение, можно просто запустить NetHogs и вы сразу увидите PID виновника. Так как работа утилиты основана на подсистеме proc, на данный момент есть версия только для Linux.

Установка NetHogs

Пользователи Debian подобных систем, в том числе и Ubuntu могут установить утилиту с помощью следующей команды:

 sudo apt-get install nethogs

Если вы используете другой дистрибутив, посмотрите детали установки на официальном сайте NetHogs. Для работы утилиты необходимы библиотеки pcap и ncurses, убедитесь что пакеты libncurses5-dev и libpcap0.8-dev установлены.

Кто же использует сеть

NetHogs очень просто использовать. Просто выполните команду nethogs в терминале без каких либо параметров и утилита отобразит сетевую активность для каждого процесса.

net1

Как вы видите программа показывает такие детали как PID, пользователя, сетевой интерфейс, количество данных и скорость передачи или приема.

Обновление данных

По умолчанию NetHogs обновляет информацию каждую секунду, но вы можете использовать опцию -d для указания интервала обновления. Например для обновления каждые три секунды наберите:

 sudo nethogs -d 3

Указываем сетевой интерфейс

Вы можете указать NetHogs с каким сетевым интерфейсом работать, просто набрав имя интерфейса в командной строке. Например для мониторинга трафика на eth1 используйте:

 sudo nethogs eth1

Можно использовать опцию -p для перехвата трафика в неразборчивом режиме (так называемый monitor mode), но это не рекомендуется.

Горячие клавиши

В утилите предусмотрены горячие клавиши с помощью которых можно контролировать способ представления. Например нажмите M во время выполнения программы чтобы поменять формат представления приема или передачи данных. Возможны варианты в kb/s, kb, b mb.

Например, отображение в мегабайтах:

net2

Также вы можете нажать R или S для сортировки по количеству принятых или переданных данных. И как всегда Q для выхода из программы.

Выводы

NetHogs идеально подходит для случаев, когда вы хотите, поймать и уничтожить процесс, который съедает много интернет трафика. Плюс — это утилита с открытым исходным кодом, что означает что вы можете попытаться понять как она работает или даже переписать ее под себя.

Вы использовали раньше NetHogs или другой подобный инструмент? Поделитесь своими мыслями в комментариях.

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 4,00 из 5)
Загрузка...

Один комментарий

  1. fox Март 17, 2016 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: