Jak monitorować użycie sieci dla procesów w systemie Linux

Dostęp do Internetu jest niezbędny, ale możesz się zastanawiać, które procesy Linuksa najbardziej wykorzystują twoje połączenie na twoim komputerze. Na szczęście dzięki niektórym popularnym narzędziom linuksowym monitorowanie, które procesy wykorzystują przepustowość, jest łatwe. Tutaj jest kilka z nich:

MUO WIDEO DNIA

PRZEWIŃ, ABY KONTYNUOWAĆ TREŚĆ

1. nethogi

nethogi to program, który robi dla połączeń internetowych to, co htop lub top robi dla wykorzystania procesora i pamięci. Pokazuje migawkę, które procesy uzyskują dostęp do sieci.

Podobnie jak top, htop lub atop, nethogs to program pełnoekranowy, który aktualizuje się po kilku sekundach, aby pokazać bieżące połączenia sieciowe według procesów.

Instalacja Nethogs jest prosta. Wystarczy przejść przez menedżera pakietów.

Na przykład w Debianie i Ubuntu:

 sudo apt install nethogs 

A na Arch Linuxie:

 sudo pacman -S nethogs 

W rodzinie Red Hat:

 sudo dnf install nethogs 

Aby uruchomić nethogs, musisz być rootem:

 sudo nethogs 

Można go ustawić tak, aby można było uruchamiać nethogs jako zwykły użytkownik za pomocą tego polecenia:

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

Powinieneś zastąpić „/ścieżka/do/nethogs” bezwzględną nazwą ścieżki nethogs. Możesz to znaleźć za pomocą polecenia who:

 which nethogs 

2. lz

Chociaż lsof jest narzędziem do wyświetlania otwartych plików, może również wyświetlać otwarte połączenia sieciowe. Opcja -i wyświetla listę połączeń internetowych dołączonych do uruchomionych procesów w systemie. W końcu w Linuksie wszystko jest plikiem.

Aby zobaczyć bieżące połączenia internetowe, użyj tego polecenia:

 lsof -i 

lsof wyświetli nazwę dowolnego polecenia z otwartymi połączeniami internetowymi, PID, deskryptor pliku, typ połączenia internetowego, rozmiar, protokół i formalną nazwę pliku połączenia.

Użycie opcji -i4 i -i6 umożliwia przeglądanie połączeń przy użyciu protokołu IPv4 lub IPv6.

Jest duża szansa, że ​​masz już zainstalowane lsof. Jest również łatwy do zainstalowania w głównych dystrybucjach Linuksa, jeśli tak nie jest.

W Debianie i Ubuntu wpisz:

 sudo apt install lsof 

A na Archu:

 sudo pacman -S lsof 

W rodzinie dystrybucji Red Hat:

 sudo dnf install lsof 

3. statystyka sieci

netstat to sam w sobie potężny program, który pozwala zobaczyć połączenia sieciowe w twoim systemie. Nie pokazuje, do jakich procesów są podłączone połączenia sieciowe. Podobnie jak w przypadku lsof, możesz to zobaczyć za pomocą opcji wiersza poleceń.

netstat jest częścią pakietu net-tools. Możesz zainstalować go w większości dystrybucji Linuksa przy użyciu domyślnego menedżera pakietów.

Na przykład w Debianie lub Ubuntu:

 sudo apt install net-tools

W Arch Linuxie:

 sudo pacman -S net-tools 

Aby zainstalować netstat w Fedorze, CentOS i RHEL, uruchom:

 sudo dnf install net-tools 

Możesz uruchomić netstat w wierszu poleceń. Domyślnie pokaże ci informacje, takie jak protokół, adres i stan połączenia, ale opcja -p dodaje kolumnę, która pokazuje identyfikator procesu i nazwę polecenia.

 netstat -p 

Po uruchomieniu netstat wyświetli listę wszystkich połączeń sieciowych, a następnie zakończy działanie. Za pomocą opcji -c możesz zobaczyć stale aktualizowaną listę połączeń:

 netstat -pc 

Byłoby to podobne do używania programu zorientowanego na ekran, takiego jak nethogs, ale zaletą robienia tego w ten sposób jest to, że możesz przesłać dane wyjściowe do innego programu, takiego jak grep lub pager, aby je zbadać:

 netstat -p | grep 'systemd' 

Aby zobaczyć wszystkie procesy z połączeniami sieciowymi w twoim systemie, być może będziesz musiał uruchomić netstat jako root:

 sudo netstat  

Teraz możesz zobaczyć, które aplikacje dla systemu Linux pochłaniają Twoją przepustowość

Linux, podobnie jak wiele nowoczesnych systemów operacyjnych, jest ściśle połączony z Internetem. Czasami może być trudno wyśledzić, które procesy wykorzystują przepustowość. Dzięki narzędziom takim jak nethogs, lsof i netstat możesz śledzić procesy, które mają otwarte połączenia.

Procesy czasami wariują, nawet w przypadku połączeń. W systemie Linux możesz łatwo zakończyć wszelkie nieuczciwe procesy.