Come già sai, il comando ping viene utilizzato per scoprire se l'host peer/gateway è raggiungibile.
Se stai pensando che ping sia un comando così semplice e perché ho bisogno di 15 esempi, dovresti leggere il resto dell'articolo.
Il comando Ping offre molte più opzioni di quelle che potresti già sapere.
Esempio di ping 1. Aumenta o diminuisce l'intervallo di tempo tra i pacchetti
Per impostazione predefinita, il ping attende 1 secondo prima di inviare il pacchetto successivo. Puoi aumentare o diminuire questo usando l'opzione -i come mostrato di seguito.
Aumenta l'intervallo di tempo del ping
Esempio:Attendi 5 secondi prima di inviare il pacchetto successivo.
$ ping -i 5 IP
Diminuisci l'intervallo di tempo del ping
Esempio:Attendi 0,1 secondi prima di inviare il pacchetto successivo.
# ping -i 0.1 IP
Nota: Solo il superutente può specificare un intervallo inferiore a 0,2 secondi. In caso contrario, riceverai il seguente messaggio di errore.
$ ping -i 0.1 127.0.0.1 PING 0 (127.0.0.1) 56(84) bytes of data. ping: cannot flood; minimal interval, allowed for user, is 200ms
Esempio ping 2. Verifica se l'interfaccia di rete locale è attiva e funzionante
Prima di verificare se la macchina peer è raggiungibile, verifica se la rete di rete locale è attiva e funzionante utilizzando uno dei 3 metodi seguenti.
Esegui il ping di localhost utilizzando zero (0)
Questo è probabilmente il modo più semplice e semplice per eseguire il ping di un host locale
$ ping 0 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms ^C
Esegui il ping di localhost usando il nome
$ ping localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms ^C --- localhost ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Esegui il ping di localhost utilizzando l'ip
$ ping 127.0.0.1
Per uscire dal comando ping, inviare il segnale SIGINT premendo CTRL+C. Se non hai specificato alcuna opzione per fare in modo che il ping esca automaticamente, terminerai utilizzando CTRL+C ( SIGINT ) che mostrerà le statistiche e quindi interromperà il processo di ping. Quando tutto funziona correttamente, dovrebbe essere visualizzato "0% di perdita di pacchetti"
2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Esempio ping 3. Invia N pacchetti e ferma
Invia N pacchetti specificati con l'opzione -c e poi fermati. In questo modo il comando ping può uscire automaticamente invece di premere CTRL+C per uscire.
Nell'esempio seguente, il comando ping invia 5 pacchetti e attende la risposta dall'host di destinazione. Il ping uscirà dopo aver ricevuto la risposta o l'errore.
$ ping -c 5 google.com PING google.com (74.125.45.100) 56(84) bytes of data. 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=44 time=731 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=44 time=777 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=3 ttl=44 time=838 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=4 ttl=44 time=976 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=5 ttl=44 time=1071 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4216ms rtt min/avg/max/mdev = 731.039/879.129/1071.050/126.625 ms
Esempio ping 4. Mostra versione ed esci
Visualizza la versione corrente del programma ping usando l'opzione -V.
$ ping -V ping utility, iputils-sss20071127
Esempio ping 5. Inondare la rete
I super utenti possono inviare centinaia o più pacchetti al secondo usando l'opzione -f. Stampa un '.' quando viene inviato un pacchetto e viene stampato un backspace quando viene ricevuto un pacchetto.
Come mostrato di seguito, ping -f ha inviato più di 400.000 pacchetti in pochi secondi.
# ping -f localhost PING localhost (127.0.0.1) 56(84) bytes of data. .^C --- localhost ping statistics --- 427412 packets transmitted, 427412 received, 0% packet loss, time 10941ms rtt min/avg/max/mdev = 0.003/0.004/1.004/0.002 ms, ipg/ewma 0.025/0.004 ms
Esempio ping 6. Ping udibile:emetti un segnale acustico quando il peer è raggiungibile
Questa opzione è utile per l'amministratore di sistema durante la risoluzione dei problemi. Non è necessario che tu esamini l'output del ping dopo ogni modifica. Puoi continuare a lavorare con le modifiche e quando la macchina remota sarà raggiungibile sentirai automaticamente il segnale acustico.
$ ping -a IP
Nota: Può emettere segnali acustici solo dal terminale numero 1 a 7 e gnome-terminal (non funzionerà in console).
Esempio ping 7. Scopri l'indirizzo IP
È possibile identificare l'indirizzo IP utilizzando il nome host come mostrato di seguito.
$ ping -c 1 google.com PING google.com (74.125.67.100) 56(84) bytes of data. 64 bytes from gw-in-f100.google.com (74.125.67.100): icmp_seq=1 ttl=43 time=287 ms --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 287.903/287.903/287.903/0.000 ms
Esempio ping 8. Stampa solo statistiche di riepilogo comando ping
Utilizzare l'opzione -q per visualizzare solo il riepilogo delle statistiche ping come mostrato di seguito.
$ ping -c 5 -q 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. --- 127.0.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3998ms rtt min/avg/max/mdev = 0.047/0.053/0.061/0.009 ms
Esempio ping 9. Modifica dimensione pacchetto ping
È possibile modificare la dimensione del pacchetto del comando ping utilizzando l'opzione -s.
Esempio:modifica la dimensione del pacchetto predefinita da 56 a 100.
$ ping -s 100 localhost PING localhost (127.0.0.1) 100(128) bytes of data. 108 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms 108 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms 108 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.020 ms ^C --- localhost ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.020/0.021/0.022/0.000 ms
Dimensione pacchetto ping
Nell'esempio sopra, quando impostiamo la dimensione del pacchetto su 100, viene visualizzato "128 byte" nell'output. Ciò è dovuto alla dimensione dell'intestazione del pacchetto Ping, che è di 28 byte. Quindi, se specifichi la dimensione del pacchetto come 100, verranno aggiunti 28 byte per l'intestazione e verranno inviati 128 byte.
Byte ping inviati =dimensione pacchetto ping + dimensione pacchetto intestazione ping (28 byte)
Esempio ping 10. Timeout -w
L'opzione Ping -w specifica la scadenza per terminare l'output del ping. Specifica il numero totale di secondi in cui il comando ping deve inviare i pacchetti all'host remoto.
L'esempio seguente emetterà un ping per 5 secondi. cioè il comando ping uscirà dopo 5 secondi indipendentemente dal numero di pacchetti inviati o ricevuti.
$ ping -w 5 localhost
Nota: Quando specifichi sia -w che -c, quello che viene prima terminerà il comando ping.
Esempio di ping 11. Ping in linea
Esegui il ping da posizioni diverse e verifica la raggiungibilità (disponibilità o tempo per raggiungere) del tuo server da posizioni diverse.
Se vuoi eseguire un ping online, prova solo a eseguire il ping.
Esempio di ping 12. L'opzione -w o -c esce da ping
$ ping -c 4 0 -w 2 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.064 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.058 ms --- 0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.058/0.060/0.064/0.009 ms $ ping -c 4 0 -w 10 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.063 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.061 ms --- 0 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2997ms rtt min/avg/max/mdev = 0.055/0.059/0.063/0.009 ms
Esempio ping 13. Statistiche più brevi con SIGQUIT
Mentre ping stampa lo stato del singolo pacchetto, quando vuoi visualizzare le statistiche più brevi puoi usare questa tecnica.
Premendo
$ ping -w 100 localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.022 ms 11/11 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms 64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.022 ms 64 bytes from localhost (127.0.0.1): icmp_seq=14 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=15 ttl=64 time=0.021 ms 19/19 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms 64 bytes from localhost (127.0.0.1): icmp_seq=31 ttl=64 time=0.022 ms 64 bytes from localhost (127.0.0.1): icmp_seq=32 ttl=64 time=0.022 ms 32/32 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.027 ms 64 bytes from localhost (127.0.0.1): icmp_seq=33 ttl=64 time=0.023 ms ..
Esempio ping 14. Specificare il percorso per il ping per inviare il pacchetto
Puoi anche specificare attraverso quale percorso il ping deve inviare il pacchetto a destinazione.
$ ping hop1 hop2 hop3 .. hopN destination
$ ping 192.168.3.33 192.168.7.1 192.168.4.45
Nota: Se uno degli hop nel percorso non è raggiungibile, si verificherà un errore nel ping.
Esempio ping 15. Registra e stampa il percorso di come ECHO_REQUEST inviato e ECHO_REPLY ricevuto
Registra e stampa il percorso di rete attraverso il quale il pacchetto viene inviato e ricevuto. Questo è utile per i tecnici di rete che desiderano sapere come viene inviato e ricevuto il pacchetto.
$ ping -R 192.168.1.63 PING 192.168.1.63 (192.168.1.63) 56(84) bytes of data. 64 bytes from 192.168.1.63: icmp_seq=1 ttl=61 time=2.05 ms RR: 192.168.9.118 192.168.3.25 192.168.10.35 192.168.1.26 192.168.1.63 192.168.1.63 192.168.10.4 192.168.3.10 192.168.4.25 64 bytes from 192.168.1.63: icmp_seq=2 ttl=61 time=2.00 ms (same route)