Supporto volontario e collaborativo per IPFire!® in italiano
 Sostieni IPFire Italia

 Merchandising di IPFire Italia

Ecommerce icon Graphics 4123404 1

Comando ping di Linux

1. Panoramica

In questo breve tutorial esploreremo come il comando ping di Linux può aiutarci a diagnosticare e risolvere i problemi di rete.

2. Sintassi

Cominciamo dando un'occhiata alla sintassi di base:

ping [OPTIONS] DESTINATION

Il comando ping (Packet INternet Groper) utilizza il protocollo ICMP (Internet Control Message) per inviare pacchetti a un server.

Per illustrare il comando ping , proviamo a effettuare il ping su www.ipfireitalia.it :

$ ping www.ipfireitalia.it

PING www.ipfireitalia.it (194.76.116.194): 56 data bytes

64 bytes from 194.76.116.194: icmp_seq=0 ttl=54 time=202.324 ms

64 bytes from 194.76.116.194: icmp_seq=1 ttl=54 time=171.035 ms

^C

--- www.ipfireitalia.it ping statistics ---

2 packets transmitted, 2 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 171.035/181.566/202.324 /11.452 ms

Innanzitutto, il comando ping determina l'indirizzo IP dal nome di dominio specificato.

Successivamente, inizia a inviare pacchetti ICMP al server.

Quando il pacchetto raggiunge la destinazione, il server risponde e il comando ping visualizza una riga sulla nostra console.

Per impostazione predefinita, stampa una riga che include le seguenti informazioni:

  • Numero di byte inviati , che per impostazione predefinita è 64 byte di dati ICMP
  • Indirizzo IP di destinazione , in questo caso, 194.76.116.194
  • Numero di sequenza del pacchetto ICMP , ad esempio, icmp_seq=0
  • Tempo di vita (TTL) , indica il numero di salti prima che il pacchetto venga eliminato, qui è 54
  • Tempo di andata e ritorno del comando ping , in questo caso 202.324 ms

Quindi, possiamo vedere che invia pacchetti ICMP in modo continuo e dobbiamo interrompere manualmente l'invio dei pacchetti utilizzando Ctrl + C (Windows) o Comando + C (Mac).

Inoltre, mostra la percentuale di pacchetti persi a causa di problemi di rete.

3. Utilizzo di base

Ora che abbiamo visto l'output predefinito, è il momento di vedere alcune delle opzioni in azione.

3.1. Specifica dell'intervallo tra i pacchetti

Per impostazione predefinita, il comando ping invia un nuovo pacchetto ogni secondo.

Usiamo il flag -i per modificare l'intervallo del ping :

$ ping -i 3 www.ipfireitalia.it

PING www.ipfireitalia.it (194.76.116.194): 56 data bytes

64 bytes from 194.76.116.194: icmp_seq=0 ttl=54 time=190.037 ms

64 bytes from 194.76.116.194: icmp_seq=1 ttl=54 time=186.061 ms

64 bytes from 194.76.116.194: icmp_seq=2 ttl=54 time=187.458 ms

^C

--- www.ipfireitalia.it ping statistics ---

3 packets transmitted, 3 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 186.061/187.852/190.037/1.647 ms

Ora non c'è alcun output che lo dimostri, ma eseguendolo possiamo vedere che otteniamo una nuova riga di output ogni tre secondi.

3.2. Controllo del numero di pacchetti

In pratica, utilizziamo spesso l'   opzione -c per specificare il numero di pacchetti ICMP che vogliamo inviare al server di destinazione:

$ ping -c 3 www.ipfireitalia.it

PING www.ipfireitalia.it (194.76.116.194): 56 data bytes

64 bytes from 194.76.116.194: icmp_seq=0 ttl=54 time=191.813 ms

64 bytes from 194.76.116.194: icmp_seq=1 ttl=54 time=177.645 ms

64 bytes from 194.76.116.194: icmp_seq=2 ttl=54 time=186.750 ms

--- www.ipfireitalia.it ping statistics ---

3 packets transmitted, 3 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 177.645/185.403/191.813/5.862 ms

Come possiamo vedere sopra, abbiamo inviato solo 3 pacchetti ICMP anziché un flusso continuo di pacchetti.

3.3. Specificazione della dimensione del pacchetto

Inoltre, il ping ci consente anche di specificare la dimensione del pacchetto utilizzando il -s flag :

$ ping -s 40 -c 4 www.ipfireitalia.it

PING www.ipfireitalia.it (194.76.116.194): 40 data bytes

48 bytes from 194.76.116.194: icmp_seq=0 ttl=54 time=180.801 ms

48 bytes from 194.76.116.194: icmp_seq=1 ttl=54 time=181.822 ms

48 bytes from 194.76.116.194: icmp_seq=2 ttl=54 time=175.019 ms

48 bytes from 194.76.116.194: icmp_seq=3 ttl=54 time=172.405 ms

--- www.ipfireitalia.it ping statistics ---

4 packets transmitted, 4 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 172.405/177.512/181.822/3.927 ms

Nell'esempio precedente abbiamo utilizzato sia l'opzione -s che -c insieme. Di conseguenza, sono stati inviati solo quattro pacchetti, ciascuno di 40 byte (ICMP: 48 byte).

Questo può essere utilizzato per determinare la latenza nella rete a diverse dimensioni di pacchetto.

Ad esempio, in molte reti complesse, si verificano problemi quando la dimensione del pacchetto supera i 1500 byte. Modificando la dimensione del pacchetto, possiamo determinare la dimensione ideale per il nostro sistema.

4. Utilizzo avanzato

Diamo ora un'occhiata alle opzioni più avanzate.

4.1 Specificare un timeout

In pratica, su una rete congestionata, potrebbe essere utile impostare un timeout per la risposta dopo un periodo di attesa specifico .   Possiamo farlo con l' -W : opzione

$ ping -c 4 -W 2 www.ipfireitalia.it

PING www.ipfireitalia.it (194.76.116.194): 56 data bytes

--- www.ipfireitalia.it ping statistics ---

4 packets transmitted, 4 packets received, 0.0% packet loss, 4 packets out of wait time

round-trip min/avg/max/stddev = 192.397/195.137/198.573/2.480 ms

Per prima cosa, inviamo la richiesta al server.

Poi, aspettiamo due secondi per ricevere una risposta.

Grazie alla bassa latenza della nostra rete, abbiamo ricevuto tutti i pacchetti correttamente senza alcuna perdita.

4.2. Inondazione della rete tramite ping

A volte vogliamo testare le prestazioni della rete inviando quanti più pacchetti possibile.

Per illustrare questo concetto, eseguiamo il comando ping utilizzando l' opzione -f :

$ ping -f localhost

PING localhost (127.0.0.1): 56 data bytes

..Request timeout for icmp_seq 250

.Request timeout for icmp_seq 251

.Request timeout for icmp_seq 252

.Request timeout for icmp_seq 253

...

^C

--- localhost ping statistics ---

271 packets transmitted, 250 packets received, 7.7% packet loss

round-trip min/avg/max/stddev = 0.010/0.019/0.049/0.005 ms

In questo caso specifico, abbiamo inviato 271 pacchetti con un tempo medio di andata e ritorno di 0,019 secondi.

4.3. Recupero del riepilogo di rete

Successivamente, possiamo recuperare il riepilogo della rete utilizzando il comando con l'aiuto del flag -q :

Per prima cosa, eseguiamo il comando ping utilizzando entrambi i flag -c e -q :

$ ping -c 4 -q www.ipfireitalia.it

PING www.ipfireitalia.it (194.76.116.194): 56 data bytes

--- www.ipfireitalia.it ping statistics ---

4 packets transmitted, 4 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 180.232/189.512/206.033/10.120 ms

Pertanto, questa opzione viene utilizzata per eseguire il comando in modalità silenziosa.

In questo caso, otteniamo solo un riepilogo e non vediamo i dettagli dei singoli pacchetti inviati.

4.4. Utilizzo del ping udibile

Eseguiamo l' utilità ping in modalità udibile utilizzando il flag -a :

$ ping -a www.google.com

PING www.google.com (172.217.163.164): 56 data bytes

64 bytes from 172.217.163.164: icmp_seq=0 ttl=54 time=107.001 ms

64 bytes from 172.217.163.164: icmp_seq=1 ttl=54 time=52.143 ms

64 bytes from 172.217.163.164: icmp_seq=2 ttl=54 time=54.163 ms

^C

--- www.google.com ping statistics ---

3 packets transmitted, 3 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 52.143/71.102/107.001/25.398 ms

Qui possiamo sentire un segnale acustico ogni volta che il nostro client riesce a raggiungere il server host.

5. Conclusion

In questo breve tutorial abbiamo visto come utilizzare il comando ping .

Per prima cosa abbiamo visto come controllare l'intervallo, la dimensione e il numero di pacchetti che inviamo nel comando.

Infine, abbiamo esplorato alcuni utilizzi avanzati, come il recupero del riepilogo della rete e il flooding della rete.

 

Firewall, Ping, IPtables, REJECT, DROP
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Leggi
Piattaforma
Statistica visite del sito
Joomla
Accetta
Decline
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
Matomo
Monitoraggio degli utenti e misurazione e miglioramento delle prestazioni e supporto della personalizzazione
Accetta
Decline
Google
Monitoraggio degli utenti e misurazione e miglioramento delle prestazioni e supporto della personalizzazione
Accetta
Decline
statcounter
Monitoraggio degli utenti e misurazione e miglioramento delle prestazioni e supporto della personalizzazione
Accetta
Decline
Save