Хотите просмотреть использование сети для всех активных процессов на вашем ПК с Linux? С этими инструментами с открытым исходным кодом это легко.
Доступ в Интернет необходим, но вы можете задаться вопросом, какие процессы Linux больше всего используют ваше соединение на вашем компьютере. К счастью, с некоторыми распространенными утилитами Linux легко отслеживать, какие процессы используют вашу пропускную способность. Вот некоторые из них:
1. нетуги
нетуги это программа, которая делает для интернет-соединений то, что 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 — утилита для вывода списка открытых файлов., он также может отображать открытые сетевые подключения. -я option перечисляет интернет-соединения, подключенные к запущенным процессам в системе. В конце концов, в Linux все является файлом.
Чтобы увидеть текущие интернет-соединения, используйте эту команду:
lsof -i
lsof покажет вам имя любых команд с открытым подключением к Интернету, PID, файл дескриптор, тип интернет-соединения, размер, протокол и формальное имя файла связь.
Используя -i4 и -i6 options позволяет просматривать подключения с использованием IPv4 или IPv6.
Скорее всего, у вас уже установлен lsof. Его также легко установить на основные дистрибутивы Linux, если это не так.
В Debian и Ubuntu введите:
sudo apt install lsof
И на Арке:
sudo pacman -S lsof
В семействе дистрибутивов Red Hat:
sudo dnf install lsof
3. нетстат
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 в командной строке. По умолчанию он покажет вам такую информацию, как протокол, адрес и состояние соединения, но -п Параметр добавляет столбец, который показывает идентификатор процесса и имя команды.
netstat -p
Когда вы запустите его, netstat просто выведет список всех сетевых подключений, а затем завершит работу. С -с вариант, вы можете увидеть постоянно обновляемый список подключений:
netstat -pc
Это было бы похоже на использование экранно-ориентированной программы, такой как nethogs, но преимущество такого способа заключается в том, что вы можете направить вывод в другую программу, такую как grep или пейджер, для его изучения:
netstat -p | grep 'systemd'
Чтобы увидеть все процессы с сетевыми подключениями в вашей системе, вам может потребоваться запустить netstat от имени пользователя root:
sudo netstat
Теперь вы можете увидеть, какие приложения Linux потребляют вашу пропускную способность
Linux, как и многие современные ОС, тесно связан с Интернетом. Иногда бывает сложно отследить, какие процессы используют вашу пропускную способность. С помощью таких инструментов, как nethogs, lsof и netstat, вы можете отслеживать процессы с открытыми соединениями.
Процессы иногда идут наперекосяк, даже с соединениями. В Linux вы можете легко завершить любые мошеннические процессы.