Wilt u het netwerkgebruik bekijken voor alle momenteel actieve processen op uw Linux-pc? Het is gemakkelijk met deze open-sourcetools.
Internettoegang is essentieel, maar u kunt zich afvragen welke Linux-processen uw verbinding het meest gebruiken op uw computer. Gelukkig is het met enkele veelvoorkomende Linux-hulpprogramma's eenvoudig om te controleren welke processen uw bandbreedte gebruiken. Hier zijn er een aantal:
1. nethogs
nethogs is een programma dat voor internetverbindingen doet wat htop of top doet voor CPU- en geheugengebruik. Het toont u een momentopname van welke processen toegang hebben tot het netwerk.
Nethogs is, net als top, htop of atop, een programma op volledig scherm dat na een paar seconden wordt bijgewerkt om u de huidige netwerkverbindingen per proces te laten zien.
Nethogs installeren is eenvoudig. Je gaat gewoon door je pakketbeheerder.
Bijvoorbeeld op Debian en Ubuntu:
sudo apt install nethogs
En op Arch Linux:
sudo pacman -S nethogs
Over de Red Hat-familie:
sudo dnf install nethogs
Om nethogs uit te voeren, moet je root zijn:
sudo nethogs
Het is mogelijk om het zo in te stellen dat u nethogs kunt uitvoeren als een gewone gebruiker met behulp van deze opdracht:
sudo setcap "cap_net_admin, cap_net_raw+pe" /path/to/nethogs
Je zou moeten vervangen "/path/to/nethogs" met de absolute padnaam van nethogs. Dit kun je vinden met het welke commando:
which nethogs
2. lsof
Terwijl lsof is een hulpprogramma voor het weergeven van geopende bestanden, kan het ook open netwerkverbindingen weergeven. De -i optie geeft internetverbindingen weer die zijn gekoppeld aan lopende processen op het systeem. Op Linux is alles tenslotte een bestand.
Gebruik deze opdracht om de huidige internetverbindingen te zien:
lsof -i
lsof toont u de naam van alle opdrachten met open internetverbindingen, de PID, het bestand descriptor, het type internetverbinding, de grootte, het protocol en de formele bestandsnaam van het verbinding.
De... gebruiken -i4 En -i6 opties kunt u verbindingen bekijken met IPv4 of IPv6.
De kans is groot dat lsof al is geïnstalleerd. Het is ook eenvoudig te installeren op grote Linux-distributies als dat niet het geval is.
Typ op Debian en Ubuntu:
sudo apt install lsof
En op Boog:
sudo pacman -S lsof
Over de Red Hat-distributiefamilie:
sudo dnf install lsof
3. netstat
netstat is op zichzelf al een krachtig programma waarmee u netwerkverbindingen op uw systeem kunt zien. Het laat niet zien aan welke processen de netwerkverbindingen zijn gekoppeld. Net als bij lsof kunt u dit zien met een opdrachtregeloptie.
netstat maakt deel uit van het net-tools-pakket. Je kunt het op de meeste Linux-distributies installeren met behulp van de standaard pakketbeheerder.
Bijvoorbeeld op Debian of Ubuntu:
sudo apt install net-tools
Op ArchLinux:
sudo pacman -S net-tools
Om netstat op Fedora, CentOS en RHEL te installeren, voer je uit:
sudo dnf install net-tools
U kunt netstat uitvoeren vanaf de opdrachtregel. Standaard toont het u informatie zoals het protocol, het adres en de status van de verbinding, maar de -P optie voegt een kolom toe die de proces-ID en de opdrachtnaam toont.
netstat -p
Wanneer u het uitvoert, zal netstat alleen alle netwerkverbindingen weergeven en vervolgens afsluiten. Met de -C optie, ziet u een voortdurend bijgewerkte lijst met verbindingen:
netstat -pc
Dit zou vergelijkbaar zijn met het gebruik van een schermgeoriënteerd programma zoals nethogs, maar het voordeel hiervan is dat je de uitvoer naar een ander programma zoals grep of een semafoon kunt sturen om het te onderzoeken:
netstat -p | grep 'systemd'
Om alle processen met netwerkverbindingen op uw systeem te zien, moet u mogelijk netstat als root uitvoeren:
sudo netstat
Nu kunt u zien welke Linux-apps uw bandbreedte opslokken
Linux is, zoals veel moderne besturingssystemen, nauw verbonden met internet. Het kan soms moeilijk zijn om op te sporen welke processen uw bandbreedte gebruiken. Met tools als nethogs, lsof en netstat kun je processen met open verbindingen opsporen.
Processen lopen soms in de war, ook met verbindingen. Op Linux kunt u alle frauduleuze processen eenvoudig beëindigen.