Netstat to bardzo potężne narzędzie, które wyświetla listę wszystkich połączeń TCP i UDP, a także połączeń gniazd unix aktualnie nasłuchujących połączeń, a także aktualnie podłączonych. Podczas gdy wielu użytkowników domowych niekoniecznie musi się o to martwić, gracze online lub ktokolwiek, kto zamierza hostować jakikolwiek serwer w przyszłości, z pewnością w pewnym momencie będzie musiał poradzić sobie z portami.
Netstat jest także przydatny dla bezpieczeństwa i prywatności, na przykład, aby dowiedzieć się, które programy „rozmawiają” z Internetem.
Korzystanie z netstat może być bardzo prostym procesem lub może być bardzo skomplikowane i ciężkie, w zależności od użycia; więc dzisiaj przyjrzymy się niektórym z najczęstszych zastosowań Netstat.
Zgodnie z obietnicą (w moim artykule „Jak znaleźć informacje o mojej sieci w systemie Linux?”) Przedstawię wam polecenie netstat. To polecenie jest bardzo przydatnym narzędziem do odkrywania informacji o sieci, takich jak tabele routingu, połączenia sieciowe, statystyki interfejsu, połączenia maskaradowe i członkostwo multiemisji. Nie jest to jednak tak proste w użyciu, jak niektóre inne narzędzia „odkrywania” (takie jak ifconfig). Dzięki netstat naprawdę musisz wiedzieć, czego szukasz i jak to znaleźć. Ten artykuł pomoże ci to zrozumieć.
Instalacja?
Na szczęście twoja dystrybucja powinna być wyposażona w preinstalowane polecenie netstat. Aby to sprawdzić, otwórz okno terminala (tam i tak będziesz używać netstat) i wydaj polecenie, które netstat. To polecenie powinno zwrócić coś takiego jak / bin / netstat. To powie ci, że narzędzie jest zainstalowane i gdzie znajduje się plik wykonywalny.
Podstawy Netstat
Podstawowe polecenie netstat wygląda następująco:
netstat OPCJE ARGUMENTU
Gdzie ARGUMENT jest typem rodziny adresów, o której chcesz uzyskać informacje, a OPCJE to opcjonalne opcje, które określą rodzaj informacji, które otrzymasz.
Ponieważ netstat oferuje tak różnorodne opcje, może być najlepiej, jeśli najpierw wymienię niektóre z bardziej użytecznych opcji.
- za: Pokazuje stan wszystkich gniazd i wpisów w tablicy routingu.
- do: Wyświetlaj informacje w sposób ciągły.
- re: Pokazuje stan wszystkich interfejsów korzystających z DHCP.
- mi: Pokaż rozszerzone informacje.
- sol: Pokaż informacje o członkostwie grupy multiemisji zarówno dla IPv4, jak i IPv6.
- ja: Wyświetla tabelę wszystkich interfejsów sieciowych.
- l: Ogranicz statystyki do zdefiniowanego interfejsu.
- M.: Pokaż tabele routingu multiemisji.
- n: Pokazuje adresy sieciowe jako liczby zamiast domyślnych symboli.
- p: Pokaż tabele rozdzielczości adresów.
- P.: Ogranicz statystyki do zdefiniowanego protokołu.
- r: Pokaż wszystkie tabele routingu.
- t: Pokaż połączenia TCP.
- u: Pokaż połączenia UDP.
- v: Użyj trybu pełnego na wyjściu.
Zobaczmy więc, 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 dla 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 formie liczbowej.
netstat -t — listening
Spowoduje to wyświetlenie wszystkich portów TCP, na których host nasłuchuje.
netstat — statystyka
To polecenie wyświetli różne statystyki dotyczące interfejsów hosta. Zauważ, że to polecenie wyświetli DUŻO statystyk.
Jak widać, to polecenie wyświetli sporo informacji. Ponadto może być konieczne przepuszczenie tego polecenia przez polecenie mniej, 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ę i w dół przez wyjście.
Wskazówki dotyczące użytkowania Netstat
Jednym z najbardziej podstawowych i typowych sposobów korzystania z netstat jest sprawdzanie, które porty nasłuchują
- netstat -l
Co daje coś takiego w moim świeżo zainstalowanym systemie Antergos
Lub jeśli chcesz bardziej skoncentrować swoje wyszukiwanie, możesz dodać kolejną opcję, aby sortować konkretnie dla różnych rodzajów połączeń
- netstat -lt # dla TCP
- netstat -lu # dla UDP
- netstat -lx # dla Uniksa
Lub możesz przejść na kompletny przeciwny koniec spektrum i wymienić wszystkie połączenia
- netstat -a
Jeśli wolisz, inną opcją, o której warto pamiętać, jest skorzystanie z opcji „n”. Na przykład przy użyciu netstat -n lub netstat -ltn wszystkie nazwy hostów nie będą już próbowały zostać rozwiązane, a tylko adresy IP będą wyświetlane, jak w poniższym przykładzie.
Jak widać, nazwa localhost w nazwie została rozwiązana do wartości liczbowej po użyciu opcji „n”
Innym sposobem użycia netstat jest netstat -ie, „i” w przypadku interfejsów oraz „e” w przypadku „rozszerzonego”, które pomogą nam uzyskać bardziej czytelny dla człowieka wynik.
netstat -ie # To pokaże nam listę interfejsów sieciowych i informacje o każdym urządzeniu.
Zaawansowane porady dotyczące Netstat
To, co chcemy zrobić, to powiedzieć netstat, aby przekazał nam dane wyjściowe dla określonych aplikacji, które nasłuchują połączeń TCP. Aby to zrobić, wydajemy polecenie:
- netstat —tcp — listening —programs
Dane wyjściowe tego polecenia wyglądałyby mniej więcej tak:
Proto Recv-Q Send-Q Adres lokalny Adres obcy Stat PID / Program
tcp 0 0 *: ssh *: * LISTEN 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 fragment tego, jak może wyglądać wydruk. Bardzo przydatne w tym poleceniu jest to, że pokazuje, 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ć, zabij ją, aby była bezpieczna.
Trasa
Netstat jest w stanie szybko wydrukować tabelę routingu jądra twoich maszyn za pomocą polecenia:
netstat -r
Dane wyjściowe tego polecenia będą wyglądać następująco:
Tabela routingu IP jądra
Destination Gateway Genmask Flags Okno MSS 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 sprawdzić statykę dla każdego protokołu. Podstawowa struktura poleceń to:
netstat — statystyka
co da ci znacznie więcej informacji, niż chcesz. Powiedz, że chcesz zobaczyć statystyki tylko protokołu TCP. W tym celu możesz wydać polecenie:
netstat -t —statistics
Dane wyjściowe powyższego polecenia będą zawierać takie informacje, jak:
Tcp:
4343 aktywnych połączeń połączeń
8 pasywnych otworów połączeniowych
5 nieudanych prób połączenia
Otrzymano 178 resetów połączeń
6 połączeń ustanowionych
Otrzymano 59075 segmentów
Wysyłamy 60033 segmentów
76 segmentów retransmitowanych
Otrzymano 0 złych segmentów.
Wysłano 303 resetów
Możesz także uzyskać informacje o UDP, używając polecenia:
netstat -u —statistics
Co dałoby podobne wyniki dla protokołu UDP.
Bądź kreatywny
Co jeśli chcesz zobaczyć wszystkie unikalne adresy IP podłączone do serwera? Możesz to zrobić za pomocą narzędzia netstat (i kilku innych narzędzi):
netstat -nat | awk '{print 5 $}' | cut -d: -f1 | sed -e '/ ^ $ / d' | uniq
Dane wyjściowe powyższego polecenia zależą od natężenia ruchu na twoim komputerze / serwerze. Ale obejmie wszystkie unikalne adresy IP próbujące połączyć się z serwerem.
Co powiesz na sprawdzenie, czy twój serwer jest atakowany przez DOS? Możesz to zrobić za pomocą netstat w następujący sposób:
netstat -anp | grep 'tcp \ | udp' | awk '{print 5 $}' | cut -d: -f1 | sortuj | uniq -c | sortuj -n
Powyższe polecenie wyświetli listę adresów IP żądających największej liczby połączeń z serwerem. Jeśli zobaczysz liczbę, która jest znacznie wyższa niż powinna, najprawdopodobniej jesteś pod atakiem typu „odmowa usługi”.
Końcowe przemyślenia
Netstat jest jednym z tych narzędzi, których nigdy tak naprawdę nie będziesz potrzebować, dopóki nagle tego nie zrobisz; i zawsze dobrze jest wiedzieć, jak go używać, w razie potrzeby, przynajmniej na pewnym podstawowym poziomie. Aby uzyskać więcej informacji na temat korzystania z polecenia netstat i jego opcji, sprawdź strony podręcznika, pisząc man netstat.