Jak monitorować aktywność sieciową w systemie Linux

Jak monitorować aktywność sieciową w systemie Linux

Istnieje wiele powodów, dla których możesz chcieć monitorować aktywność sieciową w systemie Linux. Możesz rozwiązywać problemy z problemem sieciowym, możesz sprawdzić, czy nie ma złośliwych aplikacji tworzących podejrzaną aktywność sieciową, lub po prostu chcieć wiedzieć, czy jakiekolwiek procesy dzwonią do domu. Bez względu na powód, oto kilka metod zobaczenia, które procesy w twoim systemie są zaangażowane w aktywność sieciową i z kim się komunikuje.

W tym samouczku się nauczysz:

  • Jak monitorować połączenia sieciowe i usługi słuchania za pomocą NetStat
  • Jak monitorować połączenia sieciowe i usługi słuchania za pomocą LSOF
  • Jak monitorować połączenia sieciowe i usługi słuchania za pomocą ifconfig
  • Jakie narzędzia możesz użyć do zbadania danych wysyłanych przez sieć
Jak monitorować aktywność sieciową w systemie Linux

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny od rozkładu
Oprogramowanie Netstat, LSOF, Ifconfig, Wireshark, TCPDUMP
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - wymaga wykonania podanych poleceń Linux jako zwykłego użytkownika niepewnego

Netstat

Netstat to potężne narzędzie, które może drukować połączenia sieciowe, tabele routingu, statystyki interfejsu, połączenia maskaradowe i członkostwo multiemisji. Będziemy go używać do realizacji tego pierwszego.

Instalowanie NetStat

W systemach opartych na debian i debian, takich jak Ubuntu, użyj apt.

# apt Zainstaluj narzędzia sieciowe 

W systemach Red Hat Enterprise i systemach opartych na Red Hat Użyj Yum,

# mniam instalacji narzędzi sieciowych

W systemach opartych na łuku użyj Pacmana.

# Pacman -s narzędzia netto 


NOTATKA
W poniższych przykładach używamy nowej instalacji RHEL 8 działającego w VirtualBox z zainstalowanymi dodatkami gości

Zobacz procesy słuchania

Najpierw zobaczmy procesy, które słuchają połączeń. Aby to zrobić, wprowadź następujące polecenie.

$ sudo netstat -tulpen 

W tym poleceniu T wyświetlacze TCP znajomości, u Wyświetla połączenia UDP, L Pokazuje tylko gniazda słuchania, P pokazuje program, do którego należy połączenie,mi pokazuje rozszerzone informacje i N reprezentuje numerycznie adresy, użytkowników i porty.

Wyjście netstat -Tulpen

Rozważając model serwera klienta, na którym opiera się większość oprogramowania sieciowego, procesy słuchania można uznać za oprogramowanie, które jest w trybie „serwera”. Nie ma nic zaskakującego w wyniku, biorąc pod uwagę naszą konfigurację. Są to wszystkie procesy, których można się spodziewać, słuchając połączeń sieciowych podczas świeżej instalacji RHEL 8 VirtualBox.

Dla każdego procesu słuchania możesz zobaczyć używany protokół, adres lokalny i port, na którym słucha, użytkownik, który działa, oraz nazwa PID/program. Należy zwrócić uwagę na jedno ważne rozróżnienie. Dla TCP4/UDP4 Połączenia (po prostu wymienione jako TCP I UDP) gdzie Lokalny adres jest wymieniony jako 0.0.0.0 Proces polega na słuchaniu połączeń z dowolnego komputera, który jest w stanie połączyć się z nią w sieci, podczas gdy jest to wymienione jako 127.0.0.1 Słuchaj tylko połączeń w Localhost (maszyna, w której działa lub sama) i nie może być podłączona przez inne komputery w sieci. To samo rozróżnienie jest prawdziwe TCP6/UDP6 Porównując Lokalny adres z ::(sieć skierowana) i :: 1(Tylko lokalna hosta).

Wyświetl wszystkie połączenia sieciowe

Teraz spójrzmy na wszystkie bieżące połączenia sieciowe. Aby to zrobić, wpisz następujące polecenie, które jest podobne do poprzedniego, z wyjątkiem tego, że używamy -A Aby wyświetlić wszystkie gniazda zamiast -L po prostu przeglądać gniazda słuchania.

$ sudo netstat -atupen 


Oprócz pokazania nam, jakie oprogramowanie mamy słuchanie połączeń jako „serwerów”, to polecenie pokazuje nam również aktualnie ustanowione połączenia z tym oprogramowaniem i wszelkimi ustalonymi połączeniami sieciowymi, które mamy, używając oprogramowania jako „klienta”, takiego jak przeglądarka internetowa.

Netstat -atupen Wyjście

Na zrzucie ekranu zauważysz 2 połączenia w PRZYJĘTY państwo. Po raz kolejny nie ma tu żadnych niespodzianek. Jeden z nich należy do NetworkManager i działa jako klient DHCP, aby umożliwić sieci z serwera Gateway (w tym przypadku komputer hosta). Drugie to połączenie SSH z komputerem, które zrobiliśmy po przekazaniu portu usługi SSH za pomocą VirtualBox. Czy widzieliśmy tu coś nieoczekiwanego, może to być przyczyną dalszych badań.

Zobacz ustalone połączenia

Możesz znaleźć się w sytuacji, w której chcesz tylko oglądać PRZYJĘTY znajomości. Jest to tak proste, jak prowadzenie wyjścia Netstat do GREP.

$ sudo netstat -atupen | Grep ustanowiony 
sudo netstat -atupen | GREP ustanowiony wyjście

Wprowadziliśmy powyższe polecenie po nawigacji na Wikipedię.com w Firefox, a zrzut ekranu przechwytuje połączenia ustalone przez Firefox podczas dotarcia do miejsca. Jak widać, istnieją cztery serwery, z którymi Firefox połączył; 91.198.174.192, 172.217.23.100, 216.58.215.67, I 104.111.215.142.
Aby zobaczyć, do kogo należą te serwery, możemy zapytać o adresy IP z takim whois.

$ WHOIS 91.198.174.192 | mniej 

Także dla każdego z nich ujawnia, że ​​należą one odpowiednio do Wikimedii, Google, Google i Akamai.
Ma to sens, biorąc pod uwagę, że Wikimedia jest właścicielem i gospodarzem Wikipedii i bardzo często witryny ładują zasoby hostowane na serwerach należących do Google i Akamai. W rzeczywistości badanie kodu źródłowego strony głównej Wikipedii ujawnia, że ​​ładuje aplikację Google Play Store z Google.com i Apple AppStore-Badge z Apple.com.

Nawigacja na adresy URL dla tych 2 odznak aplikacji indywidualnie i wydawanie powyższego polecenia Netstat w rzeczywistości sprawdza, czy są one hostowane na serwerach odpowiednio przez Google i Akamai.

Jeśli to wywołało twoje zainteresowanie Netstat Następnie mamy artykuł, który możesz przeczytać, aby dowiedzieć się więcej o korzystaniu z polecenia NetStat

SS

Netstat Dowództwo od dawna jest ulubieńcem sysadminów, jednak niedawno zostało zastąpione przez SS polecenie, które szczyci się szybszym, łatwiejszym i bardziej ludzkim niż czytelnym Netstat. Zobaczmy, jak wykonać te same działania, które wykonano powyżej, używając SS. SS ma również -mi opcja wyświetlania rozszerzonych informacji, ale ta opcja została pominięta w poniższych przykładach, ponieważ zawiera dodatkowe informacje, które mogą skutkować mniej czytelnym wyjściem.

Zobacz procesy słuchania

Aby wyświetlić wszystkie procesy słuchania, wprowadź następujące.

$ sudo ss -tlunp 


W tym poleceniu T wyświetlacze TCP znajomości, L Pokazuje tylko gniazda słuchania, u Wyświetla połączenia UDP, N reprezentuje adresy, użytkowników i porty numerycznie i P pokazuje program, do którego należy połączenie.

Wyświetl wszystkie połączenia sieciowe

Aby wyświetlić wszystkie połączenia sieciowe, wprowadź następujące, gdzie A zastępuje L i pokazuje wszystkie gniazda sieciowe nie tylko słuchanie.

$ sudo ss -taunp 

Zobacz ustalone połączenia

Jeśli -A Lub -L nie są wtedy uwzględnione SS Wyświetli tylko ustalone połączenia. Aby wyświetlić tylko ustalone połączenia, wprowadź następujące.

$ sudo ss -tunp 

lsof

W razie czego Netstat I SS Prezentujemy, że nie wystarczyło lsof. Lsof służy do wymienienia otwartych plików. GNU/Linux odziedziczył zasadę projektowania UNIX, że wszystko jest plik; Obejmuje to połączenia sieciowe. W rezultacie, lsof może być używane do przeglądania aktywności sieciowej w sposób podobny do wyżej wymienionych poleceń.

Wyświetl wszystkie połączenia sieciowe

Aby wyświetlić wszystkie połączenia sieciowe, wprowadź następujące.

$ sudo lsof -np -i 

W tym poleceniu N reprezentuje adresy numerycznie, P reprezentuje porty numeryczne i I tłumi listę otwartych plików, które nie są uważane za pliki sieciowe.

Zobacz ustalone połączenia

Aby wyświetlić tylko ustalone połączenia, wprowadź następujące, w których wymieniono dodatkowe przełączniki, wszystkie ustanowione TCP znajomości.

$ sudo lsof -np -itcp -stcp: ustalone 

Zobacz procesy słuchania

Aby wyświetlić procesy słuchania za pomocą lsof Wprowadź następujące.

$ sudo lsof -np -itcp -stcp: słuchaj

Będzie to pominąć wszelkie procesy, które słuchają przez UDP, więc może być pożądane, aby wprowadzić następujące, aby je również dołączyć.

$ sudo lsof -np -i | grep 'słuchaj \ | Udp' 

Monitorowanie danych wysyłanych przez sieć

Widzieliśmy, jak Netstat, SS, I ifconfig może być używane do monitorowania, jakie połączenia sieciowe są tworzone i komu, ale często pożądane jest, aby dokładnie zobaczyć, jakie dane są wysyłane przez sieć. Aby osiągnąć ten cel, potrzebujemy aplikacji zdolnych do wąchania pakietu. Dwa programy specjalizujące się w tym obszarze to TCPDUMP I Wireshark.

Wcześniej napisaliśmy przewodniki o tym, jak zainstalować Wireshark na RHEL 8, podstawy protokołu sieciowego Wir i Monitorowanie sieci Sekcja systemu Linux i monitorowanie sprzętu Wydajne obejmuje miłe wprowadzenie do TCPDUMP.

Wniosek

W tym artykule omówiliśmy, jak przeglądać procesy słuchania, ustalone połączenia i wszystkie połączenia sieciowe za pomocą Netstat, SS, I ifconfig. Następnie wprowadziliśmy narzędzia do zbadania rzeczywistych danych przesyłanych przez sieć i powiązanych z wielkimi zasobami, które są nieocenione w odkrywaniu ich używania.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Hung Linux System? Jak uciec do wiersza poleceń i…
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Zainstaluj Arch Linux na stacji roboczej VMware
  • Jak podwójnie rozruch Kali Linux i Windows 10
  • Ubuntu 20.04 Przewodnik
  • Pobierz Linux