- Pełny wgląd w połączenia: stany, porty i PID-y na potrzeby diagnostyki i bezpieczeństwa.
- Statystyki i trasy: liczniki według protokołu, interfejsy i tabela trasowania.
- Wykrywanie konfliktów: filtrowanie za pomocą findstr i przypadki takie jak ArcGIS Server.
Jeśli kiedykolwiek zastanawiałeś się, jakie połączenia otwiera Twój komputer, które porty są używane lub dlaczego sieć jest niestabilna, polecenie netstat jest Twoim bezpośrednim sojusznikiem w wierszu poleceń . To narzędzie wiersza poleceń istnieje od lat 90. XX wieku w systemach Unix i jest również dostępne w systemie Microsoft Windows . Oferuje ono cenny podgląd tego, co dzieje się na poziomie gniazd, tabel routingu i statystyk sieciowych.
Chociaż netstat nie posiada graficznego interfejsu i na pierwszy rzut oka może wydawać się skomplikowany, dzięki kilku dobrze dobranym opcjom może szybko wykrywać włamania, konflikty portów, wąskie gardła, podejrzane procesy i błędy warstwy sieciowej. Co więcej, integracja z systemami Windows, Linux i macOS czyni go uniwersalnym narzędziem, które nie wymaga instalacji.
Czym jest netstat i dlaczego warto go mieć w swoim zestawie narzędzi?
Netstat to skrót od Network Statistics (Statystyki Sieciowe) i, jak sama nazwa wskazuje, wyświetla statystyki i statusy związane z połączeniami i protokołami. Możesz zobaczyć otwarte (nasłuchujące) porty, nawiązane i zamknięte połączenia, adresy lokalne i zdalne, a nawet identyfikator procesu (PID) dla każdego gniazda w systemie Windows.
Jego praktyczne zastosowanie w administracji i zapewnianiu bezpieczeństwa jest ogromne: można wykrywać usługi, które nie powinny być aktywne, identyfikować złośliwe oprogramowanie czekające na otwarcie portu, analizować trasy i metryki routingu lub przeglądać liczniki błędów, które ujawniają fizyczne lub logiczne awarie w sieci.
Narzędzie jest dostępne w systemach Windows, Linux, Unix i macOS. Chociaż we współczesnych środowiskach część jego zastosowań została przeniesiona do programu PowerShell lub dedykowanych narzędzi, pozostaje ono szybkim i powszechnie używanym poleceniem, które rozwiązuje zapytania w ciągu kilku sekund. Jeśli wolisz podejście wizualne, możesz skorzystać z alternatywnych narzędzi, takich jak TCPView w systemie Windows, aby wyświetlić te same informacje w formie graficznej.
Wskazówka dotycząca dokładnych pomiarów: zamknij aplikacje generujące ruch i, jeśli to możliwe, uruchom ponownie komputer i otwórz tylko najważniejsze aplikacje przed uruchomieniem polecenia netstat, aby uniknąć zakłóceń w danych i ułatwić analizę.
Wpływ na wydajność i najlepsze praktyki użytkowania
Uruchamianie netstat sporadycznie nie obniża wydajności systemu, ale nadmierne odświeżanie i rozwlekłe dane wyjściowe mogą zwiększyć obciążenie procesora i pamięci, szczególnie przy tysiącach połączeń. Koszty wynikają z enumeracji gniazd, rozwiązywania nazw i agregacji statystyk.
Zalecenia mające na celu zminimalizowanie wpływu: ogranicz użycie do momentów diagnostycznych, filtruj przy użyciu określonych parametrów (na przykład -n, aby nie rozwiązywać nazw, -p dla protokołu), unikaj bardzo szybkich pętli wykonywania i rozważ użycie specjalistycznych narzędzi, jeśli potrzebujesz bardziej szczegółowego ciągłego monitorowania.
W środowisku korporacyjnym zaleca się, aby wykonanie kontroli netstat zostało udokumentowane i przeprowadzone po dokonaniu oceny potrzeby, ponieważ czas poświęcony na bezkrytyczne kontrole może przełożyć się na koszty operacyjne bez wyraźnego zwrotu.
Jak używać netstat w systemie Windows (CMD i Terminal)
W systemie Windows polecenie netstat można uruchomić z poziomu wiersza poleceń CMD lub w terminalu (Windows 10/11) z uprawnieniami administratora. W ten sposób można wyświetlić wszystkie dostępne informacje, w tym, w razie potrzeby, identyfikator PID i pełne rozpoznawanie nazw.
Na początek wpisz netstat i naciśnij Enter, aby wyświetlić migawkę aktywnych połączeń, zawierającą kolumny takie jak Protokół (TCP/UDP), Adres lokalny, Adres zdalny i Stan (LISTENING, ESTABLISHED, TIME_WAIT, CLOSE_WAIT itd.).
Ogólna składnia
Standardowa metoda w systemie Windows opiera się na tym schemacie: netstat. Parametry można łączyć; jeśli podasz interwał w sekundach, dane wyjściowe będą odświeżane co X sekund.
Przydatne uwagi: -n wyświetla wszystko w formacie numerycznym (szybciej, ponieważ omija DNS), -o dodaje PID, -p filtruje według protokołu (TCP, UDP, TCPv6 lub UDPv6), a -f wyświetla w pełni kwalifikowane nazwy domen (FQDN), gdy jest to możliwe.
Jak odczytać wynik
Kluczowa jest kolumna State: LISTENING oznacza otwarte porty oczekujące na połączenia; ESTABLISHED oznacza aktywne połączenia; TIME_WAIT i CLOSE_WAIT odzwierciedlają fazy zamykania w protokole TCP; w protokole UDP nie ma stanów, ponieważ nie ma połączeń.
Adres lokalny pokazuje adres IP i port urządzenia, a adres zewnętrzny pokazuje zdalny punkt końcowy, który z opcją -f może zawierać pełną nazwę domeny (FQDN), co ułatwia śledzenie. Z opcją -n zawsze zobaczysz liczby (szybciej i mniej niejednoznacznie).
Typowe parametry i opcje netstat
-a: wyświetla wszystkie nasłuchujące połączenia i porty, przydatne do wykrywania aktywnych usług i gniazd oczekujących na klientów.
-e: Statystyki interfejsu (bajty, pakiety, odrzucenia, błędy). Szybki przegląd ruchu i potencjalnych anomalii w odbiorze/nadawaniu.
-f: próbuje wyświetlić w pełni kwalifikowaną nazwę domeny (FQDN) dla zdalnych adresów, co jest bardzo przydatne podczas badania nieznanych miejsc docelowych.
-n: nierozwiązany wynik numeryczny DNS; przyspiesza wykonywanie i zapobiega zamieszaniu w diagnostyce.
-o: Dodaje PID procesu powiązanego z każdym połączeniem w systemie Windows, fragment, który należy odnieść do Menedżera zadań lub listy zadań.
-p Protokół: filtruje według TCP, UDP, TCPv6 lub UDPv6. W systemie Windows używana jest nazwa protokołu (na przykład netstat -p TCP), a nie „IP”.
-q: Pokazuje ograniczone porty nasłuchujące i nienasłuchujące, przydatne przy przeglądaniu skojarzeń gniazd.
-s: statystyki pogrupowane według protokołu (IPv4, IPv6, TCP, UDP, ICMP), zawierające liczniki pakietów, błędy i retransmisje.
-r: udostępnia tabelę trasowania i listę interfejsów, niezbędną do sprawdzenia domyślnej bramy i aktywnych tras.
-t: Wyświetla informacje o czasie i pobieraniu połączeń (obsługa i semantyka mogą się różnić w zależności od systemu).
-x: wyszczególnia połączenia NetworkDirect, jeśli występują, istotne w określonych środowiskach.
: dodaje okresowe odświeżanie, na przykład netstat -n 7, aby aktualizować co 7 sekund; używaj tej komendy oszczędnie, aby uniknąć przeciążenia systemu.
Praktyczne przykłady krok po kroku
Największą zaletą netstat jest to, że każdy przełącznik odpowiada na konkretne, codzienne pytania dotyczące sieci i bezpieczeństwa. Oto kilka zastosowań, które obejmują wszystko – od podstawowych po bardziej zaawansowane analizy.
Otwarte porty i powiązane procesy
Aby na pierwszy rzut oka zobaczyć, co nasłuchuje, jakie połączenia istnieją i jaki proces je podtrzymuje, użyj polecenia netstat -ano, które łączy dane numeryczne i dane PID.
Mając już numer PID, otwórz Menedżera zadań (zakładka Szczegóły) lub użyj tasklist, aby zidentyfikować plik wykonywalny i potwierdzić, czy jest to legalna usługa, czy coś podejrzanego.
Filtruj według stanu za pomocą findstr
Jeżeli chcesz tylko ustanowić połączenia, możesz użyć łańcucha findstr: netstat | findstr ESTABLISHEDAby zobaczyć gniazda nasłuchujące, zmień termin na LISTENING, a w przypadku zamknięć użyj CLOSE_WAIT lub TIME_WAIT.
Dzięki temu szybkiemu filtrowaniu możesz skupić się na tym, co ważne, bez tracenia czasu na czekanie w kolejkach. Jest to szczególnie przydatne w zespołach, w których jednocześnie używanych jest wiele przeglądarek, klientów i usług.
Tylko protokół
Aby wyświetlić tylko protokół TCP w systemie Windows, uruchom: netstat -p TCP -anoJeśli interesuje Cię UDP, zmień protokół. W ten sposób zredukujesz szum i przyspieszysz analizę.
W niektórych przewodnikach można znaleźć opcję „-p IP” dla protokołu IPv4, lecz w systemie Windows parametr ten oczekuje protokołu TCP/UDP (lub jego wariantów v6), a w systemie Linux istnieją inne przełączniki o podobnych funkcjach.
Statystyki według protokołu i interfejsów
Aby wykryć straty, utracone pakiety, retransmisje lub dziwne skoki, biegnij netstat -s i sprawdź liczniki IPv4/IPv6, TCP, UDP i ICMP.
Jeśli chcesz zobaczyć statystyki dla każdego interfejsu (bajty, pakiety, błędy), netstat -e Zapewnia przejrzyste podsumowanie, które pomaga ocenić kierunek ruchu i jakość łącza.
Tabela trasowania i zdalna nazwa FQDN
z netstat -r sprawdzasz domyślną trasę, aktywne trasy i dostępne interfejsy, bardzo przydatne w przypadku braku dostępu do Internetu lub braku tras wewnętrznych.
Aby zbadać miejsca docelowe, netstat -f spróbuje rozwiązać nazwę FQDN zdalnego hosta; możesz dostroić się z zobacz otwarte porty w systemie Windows lub użyj netstat -f | findstr "amazonaws.com".
Bezpieczeństwo i diagnostyka: Jak wykrywać podejrzane zachowania lub wąskie gardła
Netstat -ano służy do wykrywania nietypowych połączeń i nieznanych procesów poprzez porównanie PID z plikiem wykonywalnym w Menedżerze zadań lub za pomocą narzędzi takich jak TCPView. Jeśli odkryjesz nieznany zdalny adres docelowy, sprawdź go przed podjęciem jakichkolwiek działań.
Jeśli wykryjesz podejrzane zdalne adresy IP, możesz rozszerzyć je o netstat -aof aby zobaczyć FQDN i PID, a następnie zablokuj podejrzany adres IP w Zaporze systemu Windows, uruchamiając jednocześnie program antywirusowy/EDR. W poważnych przypadkach tymczasowo odłącz komputer od sieci.
Aby monitorować w czasie „prawie” rzeczywistym bez użycia narzędzi zewnętrznych, USA netstat -n 5 odświeżanie co 5 sekund; pamiętaj, że nie jest to funkcja ciągłego monitorowania i jeśli jej potrzebujesz, rozważ specjalistyczne rozwiązania.
Wąskie gardła mogą powstawać w wyniku nagromadzenia połączeń w stanach oczekiwania lub w wyniku liczników błędów w -s y -e, co wskazuje na przeciążenie, problemy z okablowaniem lub sterownikiJeśli widzisz dużo „retransmitowanych segmentów” w protokole TCP, zwróć uwagę na opóźnienia i straty.
Sprawdzanie konfliktów portów: przypadek ArcGIS Server
Przed wdrożeniem usług wymagających konkretnych portów (np. ArcGIS Server) zaleca się sprawdzenie, czy porty te są wolne i nie nasłuchują innych procesów.
Przydatnym poleceniem jest połączenie polecenia netstat z poleceniem findstr w celu wyszukania konkretnych portów w trybie NASŁUCHANIA: netstat -ao | findstr "LISTENING" | findstr "4000 4001 4002 4003 6080 6443".
Jeśli jakikolwiek port wydaje się być w użyciu, zanotuj PID (prawa kolumna), przejdź do Menedżera zadań > Szczegóły i znajdź proces. Jeśli należy on do samego ArcGIS (na przykład javaw.exe z użytkownikiem usługi), nie ma konfliktu. Jeśli nie, skonfiguruj ponownie usługę lub ponownie przypisz port.
Pamiętaj, że zapora sieciowa, program antywirusowy lub system ochrony obwodowej może blokować porty niezależnie od tego, czy lokalny system ma je wolne, dlatego sprawdź również swoją politykę sieciową.
Inne przydatne polecenia sieciowe w systemie Windows
Netstat nie jest odosobniony: połączenie go z innymi poleceniami systemowymi znacznie zwiększa jego wartość diagnostyczną. Oto najważniejsze, o których warto pamiętać.
- ipconfig: wyświetla konfigurację IP, maskę, bramę i umożliwia odnawianie DHCP; podstawa, aby wiedzieć, skąd przychodzisz i dokąd zmierzasz.
- świst: Sprawdza zasięg i opóźnienie do hosta; przydatne do potwierdzania łączności i pomiaru czasu przesyłania danych w obie strony.
- tracert: Ujawnia trasę przeskoku do miejsca docelowego, co jest kluczowe dla zlokalizowania miejsca, w którym następuje przerwa w ruchu lub zwiększają się opóźnienia.
- ścieżka: łączy ping i tracert z metrykami utraty przeskoków, bardzo przydatne, choć wolniejsze w działaniu.
- getmac: ujawnia adres PROCHOWIEC, niezbędne do kontroli poprzez filtrowanie lub inwentaryzację sprzęt komputerowy.
- nslookup: Sprawdź rozdzielczość DNS (domena <-> IP), co jest konieczne, jeśli widzisz nazwy, które nie dają się rozwiązać lub nieoczekiwane mapowania.
- sieć: powłoka sieciowa umożliwiająca konfigurację wszystkiego, od profili Wi-Fi po reguły zapory sieciowej; bardzo przydatne, gdy trzeba zmienić parametry stosu lub zapory sieciowej.
Pisarz z pasją zajmujący się światem bajtów i technologii w ogóle. Uwielbiam dzielić się swoją wiedzą poprzez pisanie i właśnie to będę robić na tym blogu, pokazywać Ci wszystkie najciekawsze rzeczy o gadżetach, oprogramowaniu, sprzęcie, trendach technologicznych i nie tylko. Moim celem jest pomóc Ci poruszać się po cyfrowym świecie w prosty i zabawny sposób.
