Chcete zobrazit využití sítě pro všechny aktuálně aktivní procesy na vašem počítači se systémem Linux? S těmito open-source nástroji je to snadné.
Přístup k internetu je nezbytný, ale možná vás zajímá, které procesy Linuxu nejvíce využívají vaše připojení na vašem počítači. Naštěstí s některými běžnými linuxovými nástroji je sledování, které procesy využívají vaši šířku pásma, snadné. Tady jsou některé z nich:
1. nethogs
nethogs je program, který dělá pro připojení k internetu to, co htop resp top dělá pro využití CPU a paměti. Ukazuje vám snímek toho, které procesy přistupují k síti.
Stejně jako top, htop nebo atop, nethogs je program na celou obrazovku, který se po několika sekundách aktualizuje, aby vám ukázal aktuální síťová připojení podle procesů.
Instalace nethogů je jednoduchá. Stačí projít správcem balíčků.
Například na Debianu a Ubuntu:
sudo apt install nethogs
A na Arch Linuxu:
sudo pacman -S nethogs
O rodině Red Hat:
sudo dnf install nethogs
Chcete-li spustit nethogy, musíte být root:
sudo nethogs
Je možné jej nastavit tak, abyste mohli spouštět nethogs jako běžný uživatel pomocí tohoto příkazu:
sudo setcap "cap_net_admin, cap_net_raw+pe" /path/to/nethogs
Měli byste nahradit "/path/to/nethogs“ s absolutní cestou nethogs. Najdete to příkazem which:
which nethogs
2. lsof
Zatímco lsof je nástroj pro výpis otevřených souborů, může také vypsat otevřená síťová připojení. The -i volba uvádí internetová připojení připojená k běžícím procesům v systému. Na Linuxu je koneckonců všechno soubor.
Chcete-li zobrazit aktuální připojení k internetu, použijte tento příkaz:
lsof -i
lsof vám zobrazí název všech příkazů s otevřeným připojením k internetu, PID, soubor deskriptor, typ internetového připojení, velikost, protokol a formální název souboru spojení.
Za použití -i4 a -i6 umožňuje zobrazit připojení pomocí IPv4 nebo IPv6.
Je velká šance, že už máte lsof nainstalované. Je také snadné jej nainstalovat na hlavní linuxové distribuce, pokud tomu tak není.
V Debianu a Ubuntu zadejte:
sudo apt install lsof
A na Archu:
sudo pacman -S lsof
O rodině distribucí Red Hat:
sudo dnf install lsof
3. netstat
netstat je výkonný program sám o sobě, který vám umožní vidět síťová připojení ve vašem systému. Neukazuje vám, ke kterým procesům jsou připojena síťová připojení. Stejně jako u lsof to můžete vidět pomocí možnosti příkazového řádku.
netstat je součástí balíku net-tools. Můžete jej nainstalovat na většinu linuxových distribucí pomocí výchozího správce balíčků.
Například na Debianu nebo Ubuntu:
sudo apt install net-tools
Na Arch Linuxu:
sudo pacman -S net-tools
Chcete-li nainstalovat netstat na Fedoru, CentOS a RHEL, spusťte:
sudo dnf install net-tools
Netstat můžete spustit z příkazového řádku. Ve výchozím nastavení vám zobrazí informace, jako je protokol, adresa a stav připojení, ale -p přidá sloupec, který zobrazuje ID procesu a název příkazu.
netstat -p
Když jej spustíte, netstat pouze vypíše všechna síťová připojení a poté se ukončí. s -C možnost, můžete vidět neustále aktualizovaný seznam připojení:
netstat -pc
Bylo by to podobné použití programu orientovaného na obrazovku, jako je nethogs, ale výhodou tohoto způsobu je, že můžete výstup prozkoumat do jiného programu, jako je grep nebo pager:
netstat -p | grep 'systemd'
Chcete-li zobrazit všechny procesy se síťovými připojeními ve vašem systému, možná budete muset spustit netstat jako root:
sudo netstat
Nyní můžete vidět, které aplikace pro Linux pohlcují vaši šířku pásma
Linux, stejně jako mnoho moderních operačních systémů, je úzce propojen s internetem. Někdy může být obtížné zjistit, které procesy využívají vaši šířku pásma. Pomocí nástrojů jako nethogs, lsof a netstat můžete sledovat procesy, které mají otevřená připojení.
Procesy se někdy zhroutí, a to i s připojením. V Linuxu můžete snadno ukončit jakékoli nečestné procesy.