В Unix достаточно утилит позволяющих оценить использование сети (netstat, ifconfig, iftop и даже top), но например посмотреть статистику использования сети конкретным приложением с их помощью неудобно. Утилита NetHogs (github.com/raboof/nethogs) в отличие от других приложений не группирует их по IP и протоколу, а выводит их в привязке к процессу и выводит их в реальном времени. Для анализа данных используется информация с /proc поэтому работать в полной мере будет только в Linux. Поддерживается как IPv4, так и IPv6, но пока только протокол TCP.
Проект предлагает исходные тексты и подробную инструкцию по сборке. Но нужный пакет уже есть в репозитариях некоторых дистрибутивов (в Fedora, CentOS и т.п. требуется подключить EPEL).
В Ubuntu все просто:
$ sudo apt install nethogs
|
Для запуска нужны права root:
Будет показан интерфейс, программа и количество переданных и принятых пакетов по каждому приложению и всего. Клавиша m позволяет переключаться между режимами вывода количества трафика или скорости. Нажатие клавиш r (received) и s (send) позволит сортировать вывод. Для выхода из режима прослушивания достаточно нажать клавишу q.
По умолчанию прослушиваются все интерфейсы, поэтому если нужен конкретный, следует указать его при запуске.
Параметр -d позволяет указать интервал обновления. Параметр -t включает режим трасировки, -p — снифер. Также есть проект реализующий GTK интерфейс к NetHogs (github.com/mbfoss/gnethogs).
http://www.tux.in.ua/articles/3928
|