Хотите просмотреть использование сети всеми текущими активными процессами на вашем ПК с Linux? С помощью этих инструментов с открытым исходным кодом это просто.
Доступ в Интернет необходим, но вы можете задаться вопросом, какие процессы Linux используют ваше соединение на вашем компьютере больше всего. К счастью, с помощью некоторых распространенных утилит Linux легко отслеживать, какие процессы используют вашу пропускную способность. Вот некоторые из них:
1. nethogs
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
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
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 вы можете легко завершить любые процессы-нарушители.