Найти в Дзене
takoedelo

Как отслеживать использование сети для процессов в Linux

Оглавление

Хотите просмотреть использование сети всеми текущими активными процессами на вашем ПК с Linux? С помощью этих инструментов с открытым исходным кодом это просто.

Доступ в Интернет необходим, но вы можете задаться вопросом, какие процессы Linux используют ваше соединение на вашем компьютере больше всего. К счастью, с помощью некоторых распространенных утилит Linux легко отслеживать, какие процессы используют вашу пропускную способность. Вот некоторые из них:

1. nethogs

-2

nethogs - это программа, которая делает для интернет-соединений то, что htop или top делает для использования процессора и памяти. Здесь показан моментальный снимок того, какие процессы обращаются к сети.

Подобно top, htop или atop, nethogs - это полноэкранная программа, которая обновляется через несколько секунд, показывая вам текущие сетевые подключения процессов.

Установка nethogs проста. Вы просто заходите в свой менеджер пакетов.

Например, в Debian и Ubuntu:

sudo apt install nethogs

И в Arch Linux:

sudo pacman -S nethogs

В семействе Red Hat:

sudo dnf install nethogs

Для запуска nethogs вам нужно быть root:

sudo nethogs

Можно настроить это так, чтобы вы могли запускать nethogs как обычный пользователь, используя эту команду:

sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs

Вам следует заменить "/path/to/nethogs" на путь к nethogs. Вы можете найти это с помощью команды which:

which nethogs

2. lsof

-3

lsof - это утилита для составления списка открытых файлов, она также может отображать список открытых сетевых подключений. В опции -i перечислены подключения к Интернету, подключенные к запущенным процессам в системе. В Linux, в конце концов, все является файлом.

Чтобы увидеть текущие подключения к Интернету, используйте эту команду:

lsof -i

lsof покажет вам название любых команд с открытыми подключениями к Интернету, PID, дескриптор файла, тип подключения к Интернету, размер, протокол и официальное имя файла подключения.

Использование опций -i4 и -i6 позволяет просматривать соединения с использованием IPv4 или IPv6.

Есть большая вероятность, что у вас уже установлен lsof. Его также легко установить на основные дистрибутивы Linux, если это не так.

В Debian и Ubuntu введите:

sudo apt install lsof

И в Arch:

sudo pacman -S lsof

В дистрибутивах семейства Red Hat:

sudo dnf install lsof

3. netstat

-4

netstat - это мощная программа сама по себе, позволяющая вам видеть сетевые подключения в вашей системе. Она не показывает вам, к каким процессам подключены сетевые подключения. Как и в случае с lsof, вы можете увидеть это с помощью опции командной строки.

netstat является частью пакета net-tools. Вы можете установить его на большинство дистрибутивов Linux, используя менеджер пакетов по умолчанию.

Например, в Debian или Ubuntu:

sudo apt install net-tools

В Arch Linux:

sudo pacman -S net-tools

Чтобы установить netstat в Fedora, CentOS и RHEL, запустите:

sudo dnf install net-tools

Вы можете запустить netstat из командной строки. По умолчанию будет отображаться такая информация, как протокол, адрес и состояние соединения, но опция -p добавляет столбец, в котором отображается идентификатор процесса и название команды.

netstat -p

При запуске netstat просто перечислит все сетевые подключения и затем завершит работу. С помощью опции -c вы можете видеть постоянно обновляемый список подключений:

netstat -pc

Это было бы похоже на использование программы, ориентированной на экран, такой как nethogs, но преимущество такого способа заключается в том, что вы можете передавать выходные данные в другую программу, такую как grep

netstat -p | grep 'systemd'

Чтобы просмотреть все процессы с сетевыми подключениями в вашей системе, вам, возможно, придется запустить netstat от имени root:

sudo netstat

Теперь вы можете видеть, какие приложения Linux поглощают вашу пропускную способность

Linux, как и многие современные операционные системы, тесно связана с Интернетом. Иногда бывает трудно отследить, какие процессы используют вашу пропускную способность. С помощью таких инструментов, как nethogs, lsof и netstat, вы можете отслеживать процессы, которые имеют открытые подключения.

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

Смотрите другие наши статьи,подписывайтесь на канал чтобы не пропустить интересное.