Windows fornisce una serie di comandi di rete per il prompt dei comandi di Windows (Command Prompt, ab­bre­via­to in CMD) per re­cu­pe­ra­re in­for­ma­zio­ni rilevanti e con­fi­gu­ra­re le im­po­sta­zio­ni di rete.

Uno di questi comandi è il ping. Vi mo­stre­re­mo di cosa si tratta e come uti­liz­za­re il comando ping per la dia­gno­sti­ca di rete.

Cos'è ping?

Ping è uno strumento dia­gno­sti­co per il prompt dei comandi di Windows. Il programma a riga di comando viene uti­liz­za­to nella dia­gno­sti­ca di rete per de­ter­mi­na­re se un altro computer in una rete locale o pubblica collegata può essere raggiunto.

Il ping viene ri­chia­ma­to uti­liz­zan­do l'omonimo comando a riga di comando, in com­bi­na­zio­ne con l'indirizzo IP o il nome host del computer di de­sti­na­zio­ne. Se il computer di de­sti­na­zio­ne non si trova nella stessa rete locale del computer di origine, è ne­ces­sa­rio indicare il dominio.

Il nome ping nasce da un'a­na­lo­gia con la tec­no­lo­gia sonar, uti­liz­za­ta per lo­ca­liz­za­re gli oggetti mediante gli impulsi sonori emessi, che veniva sfruttata durante la seconda guerra mondiale per rilevare i sot­to­ma­ri­ni. Al­l'in­ter­no di un sot­to­ma­ri­no, il segnale sonoro emesso durante la lo­ca­liz­za­zio­ne è percepito come un battito squil­lan­te, che viene descritto come "ping".

Come funziona il ping?

Per de­ter­mi­na­re la rag­giun­gi­bi­li­tà di un computer, ping invia quattro pacchetti ICMP con una richiesta di tipo echo di 32 byte ciascuno al­l'in­di­riz­zo indicato come parametro nel­l'im­po­sta­zio­ne pre­de­fi­ni­ta.

L'ICMP (Internet Control Message Protocol) è un pro­to­col­lo uti­liz­za­to per lo scambio di in­for­ma­zio­ni e messaggi di errore nelle reti IPv4. Per le reti di computer basate su IPv6 viene uti­liz­za­to un pro­to­col­lo suc­ces­si­vo, l'ICMPv6.

Teo­ri­ca­men­te, i computer che sup­por­ta­no ICMP o ICMPv6 devono ri­spon­de­re au­to­ma­ti­ca­men­te alle richieste echo in arrivo con un pacchetto ICMP di tipo echo reply secondo le spe­ci­fi­che del pro­to­col­lo. Nella pratica questo non sempre funziona, in quanto alcuni am­mi­ni­stra­to­ri con­fi­gu­ra­no i computer sotto la loro gestione per motivi di sicurezza in modo che i pacchetti ICMP vengano scartati senza risposta. Pertanto, una richiesta ICMP senza risposta non implica ne­ces­sa­ria­men­te che il computer di de­sti­na­zio­ne non sia rag­giun­gi­bi­le.

Se il computer di de­sti­na­zio­ne in­di­riz­za­to non risponde, l'ICMP fornisce un feedback dal gateway re­spon­sa­bi­le. Di solito in questo caso la risposta arriva da un router che indica che la rete o l'host cor­ri­spon­den­te non è rag­giun­gi­bi­le.

Se il router non risponde si può presumere che il computer sia rag­giun­gi­bi­le, ma che non risponde au­to­ma­ti­ca­men­te alla richiesta echo a causa della sua con­fi­gu­ra­zio­ne.

Come output, il comando ping fornisce le seguenti in­for­ma­zio­ni:

  • Tempo di risposta in mil­li­se­con­di (ms)
  • Periodo di validità dei pacchetti ICMP (Time to Live, TTL) (solo IPv4)

Il tempo di risposta indica quanto tempo impiega un pacchetto di dati per rag­giun­ge­re il computer di de­sti­na­zio­ne e tornare indietro. Il periodo di validità indicato come TTL cor­ri­spon­de al tempo di validità di un pacchetto di dati. Il valore iniziale massimo è 255. Di solito si uti­liz­za­no im­ple­men­ta­zio­ni con un TTL iniziale di 31, 63 o 127. Il TTL viene ridotto di 1 per ogni nodo di rete che il pacchetto di dati at­tra­ver­sa. In questo caso si parla di hop. Se il TTL scende a 0, il pacchetto dati viene scartato.

Il TTL che ottenete nel­l'out­put cor­ri­spon­de so­li­ta­men­te al valore iniziale del computer ri­spon­den­te meno il numero di hop at­tra­ver­sa­ti.

Ad esempio, con un TTL di 58, si può supporre che il pacchetto di risposta sia stato inviato con un valore iniziale di 63 e abbia at­tra­ver­sa­to 5 nodi di rete sul percorso di ritorno.

N.B.

Il valore del TTL è solo in­di­ca­ti­vo. In pratica, l'utente del comando ping dif­fi­cil­men­te può capire qual è stato il valore iniziale del TTL e quale nodo di rete lo ha cambiato.

Verifica della con­nes­sio­ne di rete con il ping test

Nel contesto della dia­gno­sti­ca di rete, il programma a riga di comando ping fornisce in­for­ma­zio­ni sulla qualità della con­nes­sio­ne di rete tra due computer.

Per uti­liz­za­re un ping test per de­ter­mi­na­re se il percorso tra il sistema e il computer di de­sti­na­zio­ne funziona e quale ritardo ci si può aspettare durante il tra­sfe­ri­men­to dei dati, procedete come segue.

1. Aprite il prompt dei comandi di Windows: aprite la finestra di dialogo "Esegui" mediante la com­bi­na­zio­ne di tasti Windows + R. Digitate il comando "CMD" nel campo "Apri" e con­fer­ma­te con il tasto Invio.

Windows avvia il programma CMD.exe, la riga di comando del sistema operativo.

2. Eseguite il comando ping con il parametro: inserite il comando ping nella riga di comando e indicate l'in­di­riz­zo IP o il nome host del computer di de­sti­na­zio­ne come parametro ag­giun­gen­do le in­for­ma­zio­ni cor­ri­spon­den­ti al comando, separate da uno spazio.

Comando ping con l'in­di­riz­zo IP del computer di de­sti­na­zio­ne:

ping 8.8.8.8

Comando ping con nome host e dominio del computer di de­sti­na­zio­ne:

ping google-public-dns-a.google.com

Con­fer­ma­te il comando con Invio per eseguire il programma CMD con il parametro se­le­zio­na­to.

3. Output del comando ping: se il ping viene eseguito senza ulteriori opzioni, il programma invia quattro pacchetti al computer di de­sti­na­zio­ne spe­ci­fi­ca­to e fornisce in­for­ma­zio­ni sta­ti­sti­che sulle richieste nel terminale.

L'output del terminale contiene una tabella rias­sun­ti­va che elenca il ri­spet­ti­vo tempo di risposta, la di­men­sio­ne del pacchetto e il TTL per pacchetto di risposta. Inoltre, ri­ce­ve­re­te in­for­ma­zio­ni sta­ti­sti­che sui pacchetti inviati, ricevuti e persi, compresa la perdita di pacchetti in per­cen­tua­le e una va­lu­ta­zio­ne del tempo di risposta minimo, massimo e medio.

Se eseguite il ping con il nome host del computer di de­sti­na­zio­ne otterrete un output simile.

In questo caso, il nome del computer viene risolto nel­l'in­di­riz­zo IP cor­ri­spon­den­te in base alle im­po­sta­zio­ni DNS del sistema operativo. L'in­di­riz­zo IP viene vi­sua­liz­za­to nel­l'out­put del programma insieme alle sta­ti­sti­che ping.

Se invece non è possibile rag­giun­ge­re il computer di de­sti­na­zio­ne in­di­riz­za­to, l'output del terminale dif­fe­ri­sce a seconda che si indirizzi il target tramite IP o nome host.

Se l'in­di­riz­zo IP spe­ci­fi­ca­to non è rag­giun­gi­bi­le, i pacchetti di risposta previsti non ar­ri­ve­ran­no entro il tempo spe­ci­fi­ca­to. In questo caso si riceverà l'output del terminale "Timeout della richiesta".

Se il nome host indicato con il comando ping non può essere risolto in un indirizzo IP cor­ri­spon­den­te, ad esempio a causa di un errore di in­se­ri­men­to, ri­ce­ve­re­te il seguente messaggio di errore:

Le opzioni del comando ping

Se ne­ces­sa­rio, è possibile eseguire il comando ping con una serie di opzioni per regolare i valori pre­de­fi­ni­ti della richiesta echo ICMP. La seguente tabella fornisce una pa­no­ra­mi­ca delle opzioni più im­por­tan­ti del comando della riga di comando.

Opzione (selezione) De­scri­zio­ne
-t Con l'opzione -t, il computer di de­sti­na­zio­ne in­di­riz­za­to viene pingato fino a quando non in­ter­rom­pe­te il processo con CTRL + C per vi­sua­liz­za­re le sta­ti­sti­che ping. In questo caso si parla di ping continuo (vedi consiglio sotto).
-a <ip> Uti­liz­za­te il comando ping con l'opzione -a e l'in­di­riz­zo IP del computer di de­sti­na­zio­ne per de­ter­mi­na­re il nome host di de­sti­na­zio­ne. Il nome del computer viene vi­sua­liz­za­to insieme alle sta­ti­sti­che ping nel terminale.
-n <quantità> Usate l'opzione -n per definire il numero de­si­de­ra­to di richieste echo ICMP. Per im­po­sta­zio­ne pre­de­fi­ni­ta, ping invia 4 richieste.
-l <di­men­sio­ne> L'opzione -l definisce la di­men­sio­ne del pacchetto di richiesta echo ICMP in byte. Il valore pre­de­fi­ni­to è 32. Ping può essere uti­liz­za­to per inviare pacchetti di dati con una di­men­sio­ne massima di 65.527 byte.
-f Se il comando ping viene eseguito con l'opzione -f, il programma imposta il flag "Do not Fragment" nel­l'hea­der IP del pacchetto di richiesta echo ICMP su 1. Tale richiesta non può essere fram­men­ta­ta in unità più piccole durante il percorso di andata quando at­tra­ver­sa nodi di rete. Questa opzione è di­spo­ni­bi­le solo nelle reti IPv4.
-i <TTL> Usate l'opzione -i per definire un TTL per­so­na­liz­za­to per la vostra richiesta echo ICMP. Il massimo è 255.
-4 L'opzione -4 forza l'uso dell'IPv4 e viene uti­liz­za­ta solo se il de­sti­na­ta­rio viene in­di­riz­za­to con il nome del computer.
-6 L'opzione -6 forza l'uso dell'IPv6 e viene uti­liz­za­ta solo se il de­sti­na­ta­rio viene in­di­riz­za­to con il nome del computer.
Consiglio

Nel nostro articolo in­tro­dut­ti­vo sul prompt dei comandi in Windows trovate una pa­no­ra­mi­ca dei comandi CMD più im­por­tan­ti. Nel nostro articolo di ap­pro­fon­di­men­to relativo al ping continuo vi spie­ghia­mo come usare il comando ping per test continui.

Vai al menu prin­ci­pa­le