Vill du se nätverksanvändningen för alla för närvarande aktiva processer på din Linux-dator? Det är enkelt med dessa verktyg med öppen källkod.
Internetåtkomst är viktigt, men du kanske undrar vilka Linux-processer som använder din anslutning mest på din dator. Lyckligtvis, med några vanliga Linux-verktyg, är det enkelt att övervaka vilka processer som använder din bandbredd. Här är några av dem:
1. nethogs
nethogs är ett program som gör för internetanslutningar vad htop eller top gör för CPU och minnesanvändning. Den visar en ögonblicksbild av vilka processer som kommer åt nätverket.
Precis som top, htop eller atop är nethogs ett helskärmsprogram som uppdateras efter några sekunder för att visa dig de aktuella nätverksanslutningarna efter processer.
Att installera nethogs är enkelt. Du går bara igenom din pakethanterare.
Till exempel på Debian och Ubuntu:
sudo apt install nethogs
Och på Arch Linux:
sudo pacman -S nethogs
Om Red Hat-familjen:
sudo dnf install nethogs
För att köra nethogs måste du vara root:
sudo nethogs
Det är möjligt att ställa in det så att du kan köra nethogs som en vanlig användare med detta kommando:
sudo setcap "cap_net_admin, cap_net_raw+pe" /path/to/nethogs
Du bör byta ut"/path/to/nethogs" med det absoluta sökvägsnamnet för nethogs. Du kan hitta detta med vilket kommando:
which nethogs
2. lsof
Medan lsof är ett verktyg för att lista öppna filer, kan den också lista öppna nätverksanslutningar. De -jag alternativet listar internetanslutningar kopplade till pågående processer på systemet. På Linux är allt trots allt en fil.
För att se aktuella internetanslutningar, använd det här kommandot:
lsof -i
lsof kommer att visa dig namnet på alla kommandon med öppna internetanslutningar, PID, filen deskriptor, typen av internetanslutning, storleken, protokollet och det formella filnamnet för förbindelse.
Använda -i4 och -i6 alternativ låter dig se anslutningar med IPv4 eller IPv6.
Det finns en god chans att du redan har installerat det. Det är också lätt att installera på större Linux-distros om det inte är det.
På Debian och Ubuntu skriver du:
sudo apt install lsof
Och på Arch:
sudo pacman -S lsof
Om Red Hat-familjen av distros:
sudo dnf install lsof
3. netstat
netstat är ett kraftfullt program i sig som låter dig se nätverksanslutningar på ditt system. Den visar inte vilka processer nätverksanslutningarna är kopplade till. Som med lsof kan du se detta med ett kommandoradsalternativ.
netstat är en del av net-tools-paketet. Du kan installera det på de flesta Linux-distros med hjälp av standardpakethanteraren.
Till exempel, på Debian eller Ubuntu:
sudo apt install net-tools
På Arch Linux:
sudo pacman -S net-tools
För att installera netstat på Fedora, CentOS och RHEL, kör:
sudo dnf install net-tools
Du kan köra netstat på kommandoraden. Som standard kommer den att visa dig information som protokollet, adressen och anslutningens tillstånd, men -s alternativet lägger till en kolumn som visar process-ID och kommandonamnet.
netstat -p
När du kör det kommer netstat bara att lista alla nätverksanslutningar och sedan avsluta. Med -c alternativ kan du se en kontinuerligt uppdaterad lista med anslutningar:
netstat -pc
Det här skulle likna att använda ett skärmorienterat program som nethogs, men fördelen med att göra det på det här sättet är att du kan skicka utdata till ett annat program som grep eller en personsökare för att undersöka det:
netstat -p | grep 'systemd'
För att se alla processer med nätverksanslutningar på ditt system kan du behöva köra netstat som root:
sudo netstat
Nu kan du se vilka Linux-appar som slukar upp din bandbredd
Linux, som många moderna operativsystem, är intimt ansluten till internet. Det kan ibland vara svårt att spåra vilka processer som använder din bandbredd. Med verktyg som nethogs, lsof och netstat kan du spåra processer som har öppna anslutningar.
Processer går ibland på tok, även med anslutningar. På Linux kan du enkelt avsluta alla oseriösa processer.