Overvåk nettverksbruk i Linux: nethogs, lsof og netstat

Internett er en essensiell del av moderne databruk, men har du noen gang lurt på hvilke Linux-prosesser som konsumerer mest av internettilgangen din? Heldigvis finnes det flere verktøy i Linux som gjør det enkelt å overvåke hvilke prosesser som bruker båndbredden din. Her er noen av dem:

Dagens video om datateknologi

Fortsett å bla for å se innhold

1. nethogs

Nethogs er et program som fungerer for internett-tilkoblinger på samme måte som htop eller top fungerer for CPU- og minnebruk. Det gir deg en oversikt i sanntid over hvilke prosesser som har tilgang til nettverket.

Akkurat som top, htop eller atop, er nethogs et fullskjermsprogram som oppdaterer seg selv med noen sekunders mellomrom for å vise gjeldende nettverkstilkoblinger relatert til hver prosess.

Nethogs er enkelt å installere, du bruker bare din foretrukne pakkebehandler.

For eksempel, for Debian og Ubuntu:

 sudo apt install nethogs 

Og for Arch Linux:

 sudo pacman -S nethogs 

For Red Hat-baserte distribusjoner:

 sudo dnf install nethogs 

For å kjøre nethogs, trenger du root-tilgang:

 sudo nethogs 

Du kan også konfigurere nethogs til å kjøre som en vanlig bruker med denne kommandoen:

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

Husk å erstatte «/path/to/nethogs» med den absolutte banen til nethogs-filen. Du finner denne banen med kommandoen:

 which nethogs 

2. lsof

Lsof er et verktøy som primært brukes for å liste åpne filer, men det kan også vise åpne nettverkstilkoblinger. Med valget -i kan du se internett-tilkoblinger knyttet til prosesser som kjører på systemet ditt. I Linux er jo som kjent alt en fil.

For å se gjeldende internettforbindelser, bruk denne kommandoen:

 lsof -i 

Lsof vil vise navnet på alle kommandoer med åpne internett-tilkoblinger, deres prosess-ID (PID), filbeskrivelse, type internettforbindelse, størrelse, protokoll og det formelle filnavnet for tilkoblingen.

Ved å bruke alternativene -i4 og -i6 kan du filtrere resultatene til å kun vise henholdsvis IPv4- eller IPv6-tilkoblinger.

Det er stor sannsynlighet for at lsof allerede er installert på systemet ditt. Hvis ikke, er det enkelt å installere på de fleste Linux-distribusjoner.

For Debian og Ubuntu skriver du:

 sudo apt install lsof 

Og for Arch:

 sudo pacman -S lsof 

For distribusjoner i Red Hat-familien:

 sudo dnf install lsof 

3. netstat

Netstat er et kraftig verktøy som lar deg se nettverkstilkoblinger på systemet ditt. Det viser ikke direkte hvilke prosesser som er knyttet til tilkoblingene. Som med lsof, kan du se denne informasjonen med et kommandolinjealternativ.

Netstat er en del av net-tools-pakken. Du kan installere det på de fleste Linux-distribusjoner med standard pakkebehandler.

For eksempel, for Debian eller Ubuntu:

 sudo apt install net-tools

For 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 fra kommandolinjen. Som standard vil den vise informasjon som protokoll, adresse og tilkoblingens status. Med -p-alternativet får du en ekstra kolonne som viser prosess-ID og kommandonavn.

 netstat -p 

Når du kjører denne kommandoen, vil netstat vise alle nettverkstilkoblingene og deretter avslutte. Med alternativet -c kan du se en kontinuerlig oppdatert liste over tilkoblinger:

 netstat -pc 

Dette vil ligne bruken av et skjermorientert program som nethogs, men fordelen med denne metoden er at du kan overføre utdataene til et annet program som grep eller en sideviser for å analysere den nærmere:

 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 spiser opp båndbredden din

Linux, i likhet med mange moderne operativsystemer, er tett knyttet til internett. Det kan noen ganger være vanskelig å holde oversikt over hvilke prosesser som bruker mest av båndbredden din. Med verktøy som nethogs, lsof og netstat kan du enkelt spore opp prosesser med åpne tilkoblinger.

Noen ganger kan prosesser oppføre seg merkelig, også når det gjelder nettverkstilkoblinger. I Linux er det enkelt å avslutte useriøse prosesser.