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

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

1. нетуги

Как отслеживать использование сети процессами Linux. Рисунок 1.

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

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

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

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

sudo apt установить nethogs

И в Arch Linux:

sudo pacman -S nethogs

О семье Red Hat:

sudo dnf установить nethogs

Чтобы запустить nethogs, вам нужно быть root:

sudo nethogs

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

sudo setcap “cap_net_admin,cap_net_raw+pe” /путь/к/nethogs

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

какие сети

2. лсоф

Как отслеживать использование сети процессами Linux. Рисунок 2.

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

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

lsof -я

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

Использование параметров -i4 и -i6 позволяет вам видеть соединения, использующие IPv4 или IPv6.

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

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

sudo apt установить lsof

И на Арке:

sudo pacman -S lsof

В строке дистрибутива Red Hat:

sudo dnf установить lsof

3. нетстат

Как отслеживать использование сети процессами Linux. Рисунок 3.

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

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

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

sudo apt установить сетевые инструменты

В Arch Linux:

sudo pacman -S сетевые инструменты

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

sudo dnf установить сетевые инструменты

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

netstat -p

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

netstat -pc

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

нетстат -p | грэп ‘системд’

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

судо нетстат

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *