Odpowiedzi:
Pewnego dnia znalazłem klejnot hiddem od Microsoft, który jest przeznaczony do testowania portów:
„Portqry.exe to narzędzie wiersza polecenia, którego można użyć do rozwiązywania problemów z łącznością TCP / IP. Portqry.exe działa na komputerach z systemem Windows 2000, Windows XP i Windows Server 2003. Narzędzie informuje o stanie portów TCP i UDP na wybranym komputerze. ”
Która wersja systemu Windows? W przypadku systemu Windows 8 / Server 2012 i nowszych następujące funkcje działają w programie PowerShell:
Test-NetConnection 128.159.1.1 -Port 80
Niektórzy Googling pojawią się również alternatywy, które korzystają bezpośrednio z .NET Framework (ponieważ PowerShell pozwala to zrobić) dla systemów z niższymi wersjami systemu Windows, które nie będą Test-NetConnection
dostępne.
Jeśli nie masz nic przeciwko używaniu narzędzi innych firm, Nmap jest również bardzo dobrym przyjacielem i działa z poziomu wiersza poleceń.
$connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() }
Użyj polecenia telnet, aby połączyć się z serwerem na określonym porcie i sprawdź, czy można nawiązać połączenie.
Powodzenie:
$ telnet my_server 25
220 my_server ESMTP Postfix
Zawieść:
$ telnet my_server 23632
Connecting To my_server...Could not open connection to the host, on port 23632:
Connect failed
Telnet będzie działał dla protokołu TCP.
Netcat jest lepszym narzędziem do tego rodzaju rzeczy, w tym UDP, uważaj jednak, niektóre programy AV uważają to za „narzędzie złego hakera”
następujące polecenie wyświetli listę wszystkich portów używanych w komputerze ...
netstat -a
Dane wyjściowe zawierają protokół, adres lokalny, adres obcy i aktualny stan
Użyj portu Netcat dla systemu Windows :
>nc -zvv www.google.com 80
www.google.com [108.177.96.103] 80 (http) open
sent 0, rcvd 0
>
>nc -zvv www.google.com 888
www.google.com [108.177.96.147] 888 (?): TIMEDOUT
sent 0, rcvd 0: NOTSOCK
>