Risposte:
L'altro giorno ho trovato una gemma hiddem da Microsoft progettata per testare le porte:
"Portqry.exe è un'utilità della riga di comando che è possibile utilizzare per la risoluzione dei problemi di connettività TCP / IP. Portqry.exe viene eseguito su computer basati su Windows 2000, su computer basati su Windows XP e su Windows Server 2003. L'utilità riporta lo stato delle porte TCP e UDP su un computer selezionato. "
Quale versione di Windows? Per Windows 8 / Server 2012 e versioni successive, in PowerShell funziona come segue:
Test-NetConnection 128.159.1.1 -Port 80
Alcuni googling mostreranno anche alternative che usano direttamente .NET Framework (poiché PowerShell ti consente di farlo) per i sistemi che eseguono versioni inferiori di Windows che non saranno Test-NetConnection
disponibili.
Se non sei contrario all'utilizzo di utility di terze parti, Nmap è anche un ottimo amico da avere e funziona dalla riga di comando.
$connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() }
Utilizzare il comando telnet per connettersi al server sulla porta specificata e vedere se è possibile stabilire una connessione.
Successo:
$ telnet my_server 25
220 my_server ESMTP Postfix
Fallire:
$ telnet my_server 23632
Connecting To my_server...Could not open connection to the host, on port 23632:
Connect failed
Telnet funzionerà per TCP.
Netcat è uno strumento migliore per questo genere di cose, incluso UDP, ma alcuni software AV lo considerano uno "strumento hacker malvagio"
il seguente comando elencherà tutte le porte in uso sulla macchina ...
netstat -a
L'output contiene il protocollo, l'indirizzo locale, l'indirizzo esterno e lo stato corrente
Usa porta Windows netcat :
>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
>