Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa

Darmowa diagnoza laptopa

Dojazd do klienta bezpłatnie

Dojazd do klienta bezpłatnie

Laptopy zastępcze bezpłatnie

Laptopy zastępcze bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Get-NetTCPConnection – aktywne połączenia

Termin Definicja
Get-NetTCPConnection – aktywne połączenia

Get-NetTCPConnection to polecenie PowerShell zwracające listę aktywnych połączeń TCP wraz z powiązanymi procesami — odpowiednik netstat.

Get-NetTCPConnection – czym jest i co pokazuje

Get-NetTCPConnection to wbudowane polecenie PowerShell służące do odczytywania informacji o połączeniach TCP obsługiwanych przez system Windows. Pozwala sprawdzić, z jakimi adresami i portami komunikuje się komputer, w jakim stanie znajduje się dane połączenie oraz które procesy systemowe są z nim powiązane. Dzięki temu można przeanalizować bieżący ruch sieciowy bez instalowania dodatkowych narzędzi.

Po uruchomieniu polecenia wyświetlana jest tabela zawierająca między innymi lokalny adres IP, lokalny port, zdalny adres, zdalny port i stan połączenia. W wynikach może pojawić się także identyfikator procesu, czyli OwningProcess. Na jego podstawie można ustalić, czy dane połączenie jest tworzone przez przeglądarkę, klienta poczty, aplikację działającą w tle, usługę systemową albo inny program.

Warto pamiętać, że polecenie pokazuje stan obserwowany w chwili wykonania. Lista może zmieniać się bardzo szybko, ponieważ aplikacje nawiązują krótkotrwałe połączenia, zamykają sesje i ponownie próbują połączyć się z siecią. Sam wpis na liście nie przesądza więc o błędzie ani o niebezpiecznym działaniu programu. Znaczenie wyniku zależy od stanu połączenia, adresu docelowego, procesu oraz sytuacji, w której przeprowadzana jest diagnostyka.

Kontekst techniczny i porównanie z innymi poleceniami - Get-NetTCPConnection – aktywne połączenia

Get-NetTCPConnection należy do modułu NetTCPIP i jest przeznaczone do pracy w środowisku PowerShell. W odróżnieniu od klasycznego netstat wynik można filtrować oraz przetwarzać w typowy dla PowerShell sposób, czyli jako obiekty, a nie wyłącznie jako tekstową tabelę. Ułatwia to wybieranie konkretnych stanów, portów lub identyfikatorów procesów.

Podstawowe polecenie:

Get-NetTCPConnection

Do wyświetlenia wyłącznie aktywnie zestawionych sesji można użyć warunku:

Get-NetTCPConnection -State Established

Przydatne bywa również ograniczenie wyników do konkretnego portu lokalnego:

Get-NetTCPConnection -LocalPort 443

Jeżeli potrzebny jest identyfikator procesu odpowiedzialnego za połączenie, można wybrać najważniejsze kolumny:

Get-NetTCPConnection | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State,OwningProcess

Identyfikator procesu można następnie zestawić z informacjami zwracanymi przez Get-Process. Przykładowo:

$connection = Get-NetTCPConnection -State Established | Select-Object -First 1
Get-Process -Id $connection.OwningProcess

Takie porównanie jest bardziej miarodajne niż ocenianie samego numeru portu. Ten sam port może być używany przez różne programy, a aplikacja może korzystać z wielu portów zależnie od rodzaju połączenia. Należy też odróżniać połączenia TCP od ruchu UDP, ponieważ Get-NetTCPConnection nie służy do analizy sesji UDP.

Typowe problemy, błędy i nieprawidłowe interpretacje

Jednym z częstszych problemów jest uznawanie każdego wpisu LISTEN za dowód infekcji albo awarii. Stan ten oznacza, że aplikacja lub usługa oczekuje na przychodzące połączenia na określonym porcie. Może być potrzebny do prawidłowego działania programu, ale może również wymagać dodatkowej weryfikacji, jeśli nie da się ustalić właściciela procesu.

Stan Established informuje o zestawionym połączeniu, natomiast TimeWait, CloseWait i SYN_SENT opisują inne etapy komunikacji. Pojedynczy wpis w stanie przejściowym zwykle nie jest wystarczającym powodem do wyciągania wniosków. Znaczenie ma powtarzalność zjawiska, długość utrzymywania się wpisów, obciążenie systemu oraz zachowanie aplikacji.

Problemy mogą pojawić się także przy próbie przypisania połączenia do procesu. Proces może zakończyć działanie zanim zostanie wykonane kolejne polecenie, a identyfikator może przestać być aktualny. Wymagane są wtedy obserwacje wykonywane w kilku momentach, a nie tylko jeden zrzut wyników. Pomocne może być sortowanie danych według portu, stanu lub identyfikatora procesu:

Get-NetTCPConnection | Sort-Object State,LocalPort

Nieprawidłowe wyniki mogą wynikać również z braku odpowiednich uprawnień, ograniczonej dostępności modułu, błędnej składni filtra albo z uruchomienia polecenia w innej wersji środowiska PowerShell niż zakładano. Zdarza się też, że użytkownik widzi połączenie z nieznanym adresem i traktuje je jako jednoznacznie szkodliwe. Bez sprawdzenia programu, domeny, kontekstu systemowego i częstotliwości połączeń taka ocena pozostaje niepewna.

Kiedy trzeba oddać urządzenie do diagnozy - Get-NetTCPConnection – aktywne połączenia

Pomoc serwisowa jest uzasadniona, gdy nie można ustalić, który program tworzy powtarzające się połączenia, komputer wyraźnie zwalnia podczas komunikacji sieciowej, pojawiają się nieoczekiwane próby połączeń albo konfiguracja zapory i usług systemowych jest trudna do zweryfikowania. Analiza może obejmować porównanie wyników Get-NetTCPConnection z listą procesów, konfiguracją autostartu, logami systemowymi i ustawieniami zabezpieczeń. Samo zamknięcie procesu bez ustalenia jego roli może spowodować problemy z działaniem systemu lub aplikacji.

W Warszawskim Pogotowiu Komputerowym 24/7 można przekazać laptop do sprawdzenia, gdy diagnostyka połączeń wskazuje na problem trudny do rozwiązania samodzielnie; w przypadku laptopa obowiązuje darmowa diagnoza LAPTOPA. Przed zgłoszeniem warto zachować dokładny komunikat błędu, godzinę wystąpienia problemu, nazwę programu oraz przykładowy wynik polecenia, o ile nie zawiera on poufnych adresów lub innych danych, których nie powinno się udostępniać.

Nie należy usuwać losowych usług, blokować portów ani zmieniać reguł zapory wyłącznie na podstawie pojedynczego wpisu. Bezpieczniejsze jest ustalenie zależności między procesem, stanem połączenia i zachowaniem komputera, a następnie wykonanie zmian w sposób możliwy do odtworzenia. Dzięki temu Get-NetTCPConnection staje się narzędziem pomocnym w diagnozie, a nie tylko listą trudnych do zinterpretowania numerów.