Cum se monitorizează utilizarea rețelei pentru procese pe Linux

Conexiunea la internet a devenit o necesitate, dar poate apărea întrebarea: care procese Linux îți consumă cel mai mult date pe calculator? Din fericire, cu ajutorul unor utilitare Linux obișnuite, monitorizarea proceselor care utilizează lățimea de bandă devine o sarcină simplă. Iată câteva dintre acestea:

VIDEO MUO AL ZILEI

DERULEAZĂ PENTRU A CONTINUA CU CONȚINUTUL

1. nethogs

nethogs este un instrument care face pentru conexiunile la internet ceea ce fac htop sau top pentru monitorizarea utilizării procesorului și a memoriei RAM. Acesta îți prezintă o imagine actualizată a proceselor care accesează rețeaua.

Similar cu top, htop sau atop, nethogs este un program cu interfață pe ecran complet, care se actualizează la intervale scurte de timp, afișând conexiunile de rețea active, clasificate pe procese.

Instalarea nethogs este un proces simplu. Trebuie doar să utilizezi managerul de pachete specific distribuției tale.

De exemplu, pentru Debian și Ubuntu, folosește comanda:

sudo apt install nethogs

Iar pe Arch Linux:

sudo pacman -S nethogs

Pentru distribuțiile din familia Red Hat:

sudo dnf install nethogs

Pentru a rula nethogs, ai nevoie de privilegii de administrator (root):

sudo nethogs

Alternativ, poți configura programul astfel încât să îl poți rula ca utilizator obișnuit, folosind următoarea comandă:

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

Înlocuiește „/path/to/nethogs” cu calea absolută către executabilul nethogs. Poți afla această cale folosind comanda:

which nethogs

2. lsof

Deși lsof este un utilitar conceput pentru a afișa fișierele deschise, acesta poate afișa și conexiunile de rețea active. Opțiunea -i listează conexiunile la internet, asociate cu procesele care rulează pe sistem. La urma urmei, în Linux, totul este tratat ca un fișier.

Pentru a vedea conexiunile curente la internet, rulează comanda:

lsof -i

lsof va afișa numele comenzilor cu conexiuni la internet deschise, PID-ul (identificatorul procesului), descriptorul de fișier, tipul conexiunii, dimensiunea, protocolul și numele complet al fișierului conexiunii.

Utilizând opțiunile -i4 și -i6, poți vizualiza conexiunile IPv4 sau IPv6, respectiv.

Este foarte probabil ca lsof să fie deja instalat pe sistemul tău. În caz contrar, este ușor de instalat pe majoritatea distribuțiilor Linux.

Pe Debian și Ubuntu, tastează:

sudo apt install lsof

Iar pe Arch:

sudo pacman -S lsof

Pe distribuțiile din familia Red Hat:

sudo dnf install lsof

3. netstat

netstat este un utilitar puternic care permite vizualizarea conexiunilor de rețea active pe sistem. În mod implicit, nu afișează procesele asociate conexiunilor, dar, ca și în cazul lsof, acest lucru este posibil cu o opțiune specială.

netstat face parte din pachetul net-tools. Poți instala acest pachet pe majoritatea distribuțiilor Linux utilizând managerul de pachete implicit.

De exemplu, pe Debian sau Ubuntu:

sudo apt install net-tools

Pe Arch Linux:

sudo pacman -S net-tools

Pentru a instala netstat pe Fedora, CentOS și RHEL, rulează:

sudo dnf install net-tools

Poți rula netstat direct din linia de comandă. În mod implicit, acesta afișează informații precum protocolul, adresa și starea conexiunii, dar opțiunea -p adaugă o coloană care prezintă ID-ul procesului și numele comenzii.

netstat -p

Când este rulată, comanda netstat afișează o listă cu toate conexiunile de rețea și apoi se închide. Cu opțiunea -c, poți vedea o listă actualizată continuu cu conexiunile active:

netstat -pc

Acest lucru este similar cu utilizarea unui program interactiv, cum ar fi nethogs, dar avantajul este că poți redirecționa ieșirea către alte programe, precum grep, pentru o analiză mai detaliată:

netstat -p | grep 'systemd'

Pentru a vedea toate procesele cu conexiuni de rețea pe sistem, este posibil să fie necesară rularea netstat cu privilegii de administrator (root):

sudo netstat

Acum poți identifica aplicațiile Linux care îți consumă lățimea de bandă

Linux, ca multe sisteme de operare moderne, este dependent de internet. Uneori, poate fi dificil să monitorizezi procesele care îți folosesc lățimea de bandă. Cu ajutorul instrumentelor precum nethogs, lsof și netstat, poți ține evidența proceselor care au conexiuni deschise.

Uneori, procesele pot deveni necooperante, inclusiv cele care gestionează conexiunile de rețea. Pe Linux, poți opri cu ușurință orice proces problematic.