Як контролювати використання мережі для процесів у Linux

Доступ до Інтернету необхідний, але вам може бути цікаво, які процеси Linux найбільше використовують ваше з’єднання на вашому комп’ютері. На щастя, за допомогою деяких звичайних утиліт Linux відстежувати, які процеси використовують вашу пропускну здатність, легко. Ось деякі з них:

MUO ВІДЕО ДНЯ

ПРОКРУТЬТЕ, ЩОБ ПРОДОВЖИТИ ВМІСТ

1. нетоги

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 

І на Арці:

 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 ви можете легко припинити будь-які шахрайські процеси.