Vil du se nettverksbruken for alle aktive prosesser på din Linux-PC? Det er enkelt med disse åpen kildekode-verktøyene.
Internett-tilgang er viktig, men du lurer kanskje på hvilke Linux-prosesser som bruker tilkoblingen din mest på datamaskinen. Heldigvis, med noen vanlige Linux-verktøy, er det enkelt å overvåke hvilke prosesser som bruker båndbredden din. Her er noen av dem:
1. netthogs
netthogs er et program som gjør for internettforbindelser hva htop eller topp gjør for CPU og minnebruk. Den viser deg et øyeblikksbilde av hvilke prosesser som får tilgang til nettverket.
Som top, htop eller atop, er nethogs et fullskjermprogram som oppdateres etter noen sekunder for å vise deg gjeldende nettverkstilkoblinger etter prosesser.
Det er enkelt å installere nethogs. Du går bare gjennom pakkebehandleren din.
For eksempel på Debian og Ubuntu:
sudo apt install nethogs
Og på Arch Linux:
sudo pacman -S nethogs
Om Red Hat-familien:
sudo dnf install nethogs
For å kjøre nethogs, må du være root:
sudo nethogs
Det er mulig å sette det slik at du kan kjøre nethogs som en vanlig bruker ved å bruke denne kommandoen:
sudo setcap "cap_net_admin, cap_net_raw+pe" /path/to/nethogs
Du bør erstatte "/path/to/nethogs" med det absolutte banenavnet til nethogs. Du finner dette med hvilken kommando:
which nethogs
2. lsof
Samtidig som lsof er et verktøy for å liste åpne filer, kan den også liste åpne nettverkstilkoblinger. De -Jeg alternativet viser Internett-tilkoblinger knyttet til kjørende prosesser på systemet. På Linux er alt tross alt en fil.
For å se gjeldende internettforbindelser, bruk denne kommandoen:
lsof -i
lsof vil vise deg navnet på alle kommandoer med åpne internettforbindelser, PID, filen beskrivelse, typen internettforbindelse, størrelsen, protokollen og det formelle filnavnet til forbindelse.
Bruker -i4 og -i6 alternativer lar deg se tilkoblinger ved hjelp av IPv4 eller IPv6.
Det er en god sjanse for at du allerede har installert. Det er også enkelt å installere på store Linux-distroer hvis det ikke er det.
På Debian og Ubuntu skriver du:
sudo apt install lsof
Og på Arch:
sudo pacman -S lsof
Om Red Hat-familien av distroer:
sudo dnf install lsof
3. netstat
netstat er et kraftig program i seg selv, som lar deg se nettverkstilkoblinger på systemet ditt. Den viser deg ikke hvilke prosesser nettverkstilkoblingene er knyttet til. Som med lsof, kan du se dette med et kommandolinjealternativ.
netstat er en del av net-tools-pakken. Du kan installere det på de fleste Linux-distroer ved å bruke standard pakkebehandling.
For eksempel på Debian eller Ubuntu:
sudo apt install net-tools
På Arch Linux:
sudo pacman -S net-tools
For å installere netstat på Fedora, CentOS og RHEL, kjør:
sudo dnf install net-tools
Du kan kjøre netstat på kommandolinjen. Som standard vil den vise deg informasjon som protokollen, adressen og tilstanden til tilkoblingen, men -s alternativet legger til en kolonne som viser prosess-IDen og kommandonavnet.
netstat -p
Når du kjører det, vil netstat bare liste opp alle nettverkstilkoblingene og deretter avslutte. Med -c alternativet, kan du se en kontinuerlig oppdatert liste over tilkoblinger:
netstat -pc
Dette vil ligne på å bruke et skjermorientert program som nethogs, men fordelen med å gjøre det på denne måten er at du kan overføre utdataene til et annet program som grep eller en personsøker for å undersøke det:
netstat -p | grep 'systemd'
For å se alle prosessene med nettverkstilkoblinger på systemet ditt, må du kanskje kjøre netstat som root:
sudo netstat
Nå kan du se hvilke Linux-apper som sluker båndbredden din
Linux, som mange moderne operativsystemer, er intimt koblet til internett. Det kan til tider være vanskelig å spore opp hvilke prosesser som bruker båndbredden din. Med verktøy som nethogs, lsof og netstat kan du spore opp prosesser som har åpne forbindelser.
Prosesser går noen ganger i hop, selv med tilkoblinger. På Linux kan du enkelt avslutte eventuelle useriøse prosesser.