Il ping delle porte è una delle tecniche di risoluzione dei problemi più efficaci per vedere se un servizio è attivo o meno.
Utilizzato quotidianamente dagli amministratori di sistema, il comando ping, basandosi sul protocollo ICMP, recupera informazioni operative sugli host remoti.
Tuttavia, il ping degli host non è sempre sufficiente : potrebbe essere necessario eseguire il ping di una porta specifica sul server.,
Questa porta specifica potrebbe essere correlata a un database, a un server Web Apache o anche a un server proxy sulla rete.
In questo tutorial, vedremo come è possibile eseguire il ping di una porta specifica utilizzando una varietà di comandi diversi.
Sommario
Ping Porta specifica utilizzando telnet
Il modo più semplice per eseguire il ping di una porta specifica è utilizzare il comando telnet seguito dall’indirizzo IP e dalla porta che si desidera eseguire il ping.
È anche possibile specificare un nome di dominio anziché un indirizzo IP seguito dalla porta specifica da eseguire il ping.,
$ telnet <ip_address> <port_number>$ telnet <domain_name> <port_number>
Il comando “telnet” è valido per i sistemi operativi Windows e Unix.
Se si sta affrontando l’errore “telnet : comando non trovato” sul sistema, sarà necessario installare telnet sul sistema eseguendo i seguenti comandi.
$ sudo apt-get install telnet
Ad esempio, diciamo che abbiamo un sito Web in esecuzione su un server Web Apache sull’indirizzo IP 192.168.178.2 sulla nostra rete locale.
Per impostazione predefinita, i siti web sono in esecuzione sulla porta 80 : questa è la porta specifica che stiamo per eseguire il ping per vedere se il nostro sito web è attivo.,
Essere in grado di connettersi all’host remoto significa semplicemente che il servizio è attivo e funzionante.
Per uscire dall’utilità Telnet, è possibile utilizzare i tasti “Ctrl” + “]” per uscire ed eseguire il comando “q” per uscire.
Ping Porta Specifica utilizzando nc
per eseguire il ping di un numero di porta specifico, eseguire il “nc comando” con la “v” opzione “verbose”, “z” per la “scansione” e specificare l’host e la porta a essere eseguito il ping.,
È anche possibile specificare un nome di dominio invece di un indirizzo IP seguito dalla porta che si desidera eseguire il ping.
$ nc -vz <host> <port_number>$ nc -vz <domain> <port_number>
Questo comando funziona per i sistemi Unix ma è possibile trovare alternative netcat online per Windows.
Se il comando “nc” non viene trovato sul sistema, è necessario installare eseguendo il comando “apt-get install” come utente sudo.
$ sudo apt-get install netcat
Ad esempio, supponiamo che tu voglia eseguire il ping di un sito Web HTTP remoto sulla sua porta 80, dovresti eseguire il seguente comando.,
$ nc -vz amazon.com 80amazon.com 80 (http) open
Come si può vedere, la connessione è stata aperta con successo sulla porta 80.
D’altra parte, se si tenta di eseguire il ping di una porta specifica che non è aperta, si otterrà il seguente messaggio di errore.
$ nc -vz amazon.com 389amazon.com 389 (ldap) : Connection refused
Ping porte usando nmap
Un modo molto semplice per eseguire il ping di una porta specifica è usare il comando nmap con l’opzione “-p” per la porta e specificare il numero di porta e il nome host da scansionare.,
$ nmap -p <port_number> <ip_address>$ nmap -p <port_number> <domain_name>
Nota : se si utilizza nmap, si prega di notare che si dovrebbe essere a conoscenza di problemi legali che possono venire con esso. Per questo tutorial, stiamo assumendo che si esegue la scansione di porte locali solo a scopo di monitoraggio.
Se il comando “nmap” non è disponibile sul tuo host, dovrai installarlo.
$ sudo apt-get install nmap
Ad esempio, diciamo che si desidera eseguire il ping del “192.168.178.35 / 24” sulla rete locale sulla porta LDAP predefinita : 389.,
$ nmap -p 389 192.168.178.35/24
Come puoi vedere, la porta 389 si dice aperta su questa macchina virtuale indicando che un server OpenLDAP è in esecuzione lì.
Scansione dell’intervallo di porte utilizzando nmap
Per eseguire la scansione di un intervallo di porte utilizzando nmap, è possibile eseguire “nmap” con l’opzione “p” per “porte” e specificare l’intervallo da eseguire il ping.
$ nmap -p 1-100 <ip_address>$ nmap -p 1-100 <hostname>
Ancora una volta, se proviamo a scansionare un intervallo di porte su “192.168.178.,35/24”, abbiamo eseguito il seguente comando:
$ nmap -p 1-100 192.168.178.35/24
Ping Porta Specifica utilizzando Powershell
Se si utilizza un computer in ambiente Windows è possibile eseguire il ping specifici numeri di porta tramite Powershell.
Questa opzione può essere molto utile se si prevede di includere questa funzionalità negli script automatici.
Per eseguire il ping di una porta specifica utilizzando Powershell, è necessario utilizzare il comando “Test-NetConnection” seguito dall’indirizzo IP e dal numero di porta da eseguire il ping.,
$ Test-NetConnection <ip_address> -p <port_number>
Ad esempio, diciamo che vogliamo eseguire il ping dell’host “192.168.178.35 / 24” sulla porta 389.
Per ottenere questo risultato abbiamo eseguito il seguente comando:
$ Test-NetConnection 192.168.178.35 -p 389
l’ultima riga, si è in grado di vedere se il TCP chiamata riuscita o meno : nel nostro caso, è fatto raggiungere la porta 389 porta.
Parola sulla terminologia Ping
Tecnicamente, non esiste una cosa come “ping” di una porta specifica su un host.,
L’invio di una richiesta “ping” a un host remoto significa che si sta utilizzando il protocollo ICMP per verificare la connettività di rete.
ICMP viene utilizzato principalmente per diagnosticare problemi di rete che impedirebbero di raggiungere gli host.
Quando si esegue il “ping di una porta”, in realtà si sta stabilendo una connessione TCP tra il computer e un host remoto su una porta specifica.
Tuttavia, è estremamente comune per gli ingegneri affermare che stanno “eseguendo il ping di una porta” ma in realtà stanno scansionando o aprendo le connessioni TCP.,
Conclusione
In questo tutorial, hai imparato tutti i modi che possono essere utilizzati per eseguire il ping di una porta specifica.
La maggior parte dei comandi utilizzati in questo tutorial può essere utilizzato su sistemi operativi Windows, Unix o macOS.