Jak używać netstat w systemie GNU / Linux
- Kategoria: Linux
Netstat to bardzo potężne narzędzie, które wyświetla listę wszystkich połączeń TCP i UDP, a także połączeń z gniazdem unix, które aktualnie nasłuchują połączeń, a także aktualnie połączonych. Podczas gdy wielu użytkowników domowych niekoniecznie musi się tym martwić, gracze online lub każdy, kto zamierza hostować dowolny serwer w przyszłości, z pewnością będzie musiał kiedyś uporać się z portami.
Netstat jest również przydatny ze względu na bezpieczeństwo i prywatność, na przykład, aby dowiedzieć się, które programy „komunikują się” z Internetem.
Korzystanie z netstat może być niezwykle prostym procesem lub może być bardzo skomplikowane i ciężkie, w zależności od zastosowania; więc dzisiaj przyjrzymy się niektórym z bardziej powszechnych zastosowań Netstat.
Zgodnie z obietnicą (w moim artykule ' Jak znaleźć informacje o mojej sieci w systemie Linux ? ') Mam zamiar przedstawić ci polecenie netstat. To polecenie jest bardzo przydatnym narzędziem do wykrywania informacji sieciowych, takich jak tablice routingu, połączenia sieciowe, statystyki interfejsów, połączenia maskujące i członkostwa w multiemisji. Ale nie jest tak proste w użyciu, jak niektóre inne narzędzia do „wykrywania” (takie jak ifconfig). Z netstat naprawdę musisz wiedzieć, czego szukasz i jak to znaleźć. Ten artykuł pomoże ci to zrozumieć.
Instalacja?
Na szczęście Twoja dystrybucja powinna zawierać rozszerzenie netstat polecenie zostało wstępnie zainstalowane. Aby to sprawdzić, otwórz okno terminala (tam i tak będziesz używać netstat) i wydaj polecenie który netstat . To polecenie powinno zwrócić coś w rodzaju / bin / netstat . Dzięki temu dowiesz się, że narzędzie jest zainstalowane i gdzie znajduje się plik wykonywalny.
Podstawy Netstat
Podstawowe polecenie netstat wygląda następująco:
netstat OPCJE ARGUMENTÓW
Gdzie ARGUMENT to typ rodziny adresów, o której chcesz uzyskać informacje, a OPCJE to opcjonalne opcje, które określą typ zwracanych informacji.
Ponieważ netstat oferuje taką różnorodność opcji, najlepiej będzie, jeśli najpierw wymienię niektóre z bardziej przydatnych opcji.
- do : Pokazuje stan wszystkich gniazd i wpisów w tablicy routingu.
- do : Wyświetlanie informacji w sposób ciągły.
- re : Pokaż stan wszystkich interfejsów korzystających z DHCP.
- jest : Pokaż rozszerzone informacje.
- sol : Pokaż informacje o członkostwie w grupach multiemisji zarówno dla IPv4, jak i IPv6.
- ja : Wyświetla tabelę wszystkich interfejsów sieciowych.
- l : Ogranicz statystyki do zdefiniowanego interfejsu.
- M : Pokaż tablice routingu multiemisji.
- n : Wyświetla adresy sieciowe jako liczby zamiast domyślnych symboli.
- p : Pokaż tabele rozwiązywania adresów.
- P. : Ogranicz statystyki do zdefiniowanego protokołu.
- r : Pokaż wszystkie tablice routingu.
- t : Pokaż połączenia TCP.
- u : Pokaż połączenia UDP.
- v : Użyj trybu pełnego informacji wyjściowych.
Przyjrzyjmy się więc i zobaczmy, jak można ich używać razem.
netstat
Samo (bez opcji) to polecenie wyświetla ogólne statystyki hosta, z którym jesteś aktualnie połączony.
netstat -an
To polecenie wyświetli wszystkie połączenia z hostem, w tym adresy źródłowe i docelowe oraz porty, i wyświetli je jako liczby.
netstat -rn
To polecenie wyświetli tablicę routingu hosta w postaci liczbowej.
netstat -r
To polecenie wyświetli tablicę routingu dla twojego hosta.
netstat -natp
To polecenie wyświetli aktywne połączenia TCP w postaci numerycznej.
netstat -t --listening
Spowoduje to wyświetlenie wszystkich portów TCP, na których nasłuchuje host.
netstat --statistics
To polecenie wyświetli różne statystyki dotyczące interfejsów twojego hosta. Zauważ, że to polecenie wyświetli DUŻO statystyk.
Jak widać, polecenie to wyświetli sporo informacji. Ponadto może być konieczne przepuszczenie tego polecenia przez polecenie less, aby łatwiej je zobaczyć. To pełne polecenie wyglądałoby jak netstat --statistics | mniej. Używanie go w ten sposób pozwoliłoby ci używać klawiszy strzałek do przewijania w górę iw dół przez wyjście.
Wskazówki dotyczące użytkowania Netstat
Jednym z najbardziej podstawowych i powszechnych sposobów użycia netstat jest sprawdzenie, które porty nasłuchują
- netstat -l
Co daje coś takiego w moim świeżo zainstalowanym systemie Antergos
Lub, jeśli chcesz bardziej zawęzić wyszukiwanie, możesz dodać kolejną opcję sortowania specjalnie dla różnych typów połączeń
- netstat -lt # dla TCP
- netstat -lu # dla UDP
- netstat -lx # dla Uniksa
Lub możesz przejść na zupełnie przeciwny koniec spektrum i wyświetlić wszystkie połączenia
- netstat -a
Jeśli wolisz, inną opcją, o której warto pamiętać, jest opcja „n”. Na przykład, gdy używasz netstat -n lub netstat -ltn, wszystkie nazwy hostów nie będą już próbować być rozwiązywane i zostaną wyświetlone tylko adresy IP, jak w poniższym przykładzie.
Jak widać, nazwa hosta lokalnego została zamieniona na wartość liczbową po użyciu opcji „n”
Innym sposobem użycia netstat jest netstat -ie, „i” dla interfejsów, a „e” dla „rozszerzonego”, co pomoże nam uzyskać bardziej czytelny wynik.
netstat -ie # To pokaże nam listę interfejsów sieciowych i informacje o każdym urządzeniu.
Zaawansowane wskazówki dotyczące Netstat
Chcemy tylko powiedzieć netstatowi, aby dał nam dane wyjściowe dla określonych aplikacji, które nasłuchują połączeń TCP. W tym celu wydajemy polecenie:
- netstat --tcp --listening --programs
Wynik dla tego polecenia wyglądałby mniej więcej tak:
Proto Recv-Q Send-Q Adres lokalny Adres obcy Stat PID / Program
tcp 0 0 *: ssh *: * SŁUCHAJ 25469 / sshd
tcp 0 0 *: httpd *: * LISTEN 26754 / httpd
tcp 0 0 localhost: ipp *: * LISTEN -
Teraz możesz zobaczyć przydatne informacje. Na powyższym wyjściu widać, że zarówno sshd, jak i httpd nasłuchują połączeń przychodzących. Powyższe to tylko urywek tego, jak może wyglądać wynik. Bardzo przydatne w tym poleceniu jest to, że pokaże ci, czy istnieje polecenie lub adres lokalny nasłuchujący połączeń przychodzących, które nie powinny nasłuchiwać. Jeśli znajdziesz aplikację, która nie powinna nasłuchiwać, dla bezpieczeństwa wyłącz ją.
Trasa
Netstat jest w stanie szybko wydrukować tablicę routingu jądra twojego komputera za pomocą polecenia:
netstat -r
Wynik tego polecenia będzie wyglądał następująco:
Tablica routingu IP jądra
Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
domyślnie 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Statystyka
Jest to jedno z wygodniejszych narzędzi netstat. Dzięki temu możesz dokładnie poznać statykę dla każdego protokołu. Podstawowa struktura poleceń to:
netstat --statistics
co da ci znacznie więcej informacji niż chcesz. Powiedzmy, że chcesz zobaczyć tylko statystyki dotyczące protokołu TCP. W tym celu możesz wydać polecenie:
netstat -t --statistics
Dane wyjściowe powyższego polecenia będą zawierać informacje, takie jak:
Tcp:
4343 otwartych połączeń aktywnych
8 pasywnych otworów połączeniowych
5 nieudanych prób połączenia
Otrzymano 178 resetowanych połączeń
Nawiązano 6 połączeń
Otrzymano 59075 segmentów
Wysłanie 60033 segmentów
Retransmitowano 76 segmentów
Otrzymano 0 złych segmentów.
Wysłano 303 resetowania
Możesz też uzyskać informacje o UDP za pomocą polecenia:
netstat -u --statistics
Co dałoby podobny wynik dla protokołu UDP.
Bądź kreatywny
A co by było, gdybyś chciał zobaczyć wszystkie unikalne adresy IP połączone z serwerem? Możesz to zrobić za pomocą netstat (i kilku innych narzędzi) w następujący sposób:
netstat -nat | awk '{print $ 5}' | cut -d: -f1 | sed -e '/ ^ $ / d | uniq
Wynik powyższego polecenia będzie zależał od tego, ile ruchu otrzymuje twoja maszyna / serwer. Ale będzie zawierał wszystkie unikalne adresy IP próbujące połączyć się z Twoim serwerem.
A co ze sprawdzeniem, czy twój serwer jest atakowany przez DOS? Możesz to zrobić z netstatem w ten sposób:
netstat -anp | grep 'tcp | udp' | awk '{print $ 5}' | cut -d: -f1 | sort | uniq -c | sort -n
Powyższe polecenie wyświetli listę adresów IP żądających największej liczby połączeń z twoim serwerem. Jeśli zobaczysz liczbę znacznie wyższą niż powinna, najprawdopodobniej padniesz ofiarą ataku typu Denial of Service.
Końcowe przemyślenia
Netstat jest jednym z tych narzędzi, o których nigdy nie pomyślisz, że będziesz potrzebować, dopóki nie zrobisz tego nagle; i zawsze dobrze jest wiedzieć, jak go używać na wypadek, gdyby pojawiła się taka potrzeba, przynajmniej na jakimś podstawowym poziomie. Aby uzyskać więcej informacji na temat używania polecenia netstat i jego opcji, sprawdź strony podręcznika, wpisując man netstat .
Teraz ty: Jakie jest Twoje ulubione narzędzie do sprawdzania informacji o sieci i dlaczego? Dajcie nam znać w komentarzach!
Powiązane artykuły
- Jak znaleźć informacje o mojej sieci - w systemie Linux?
- Podstawy rozwiązywania problemów z siecią: polecenie Ipconfig
- Konfigurowanie frontonu zapory CSF dla IPTables
- Kilka pomocnych, ale mało znanych narzędzi administracyjnych systemu Linux
- Rozwiązywanie problemów z siecią za pomocą Gnome's Nettools