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 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, diciamo che si desidera eseguire il ping di un sito Web HTTP remoto sulla sua porta 80, si dovrebbe 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 si può vedere, la porta 389 è detto di essere aperto su questa macchina virtuale affermando che un server OpenLDAP è che funziona.

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.