comando ping

Finalità

Invia un ECHO_REQUEST a un host di rete.

Sintassi

ping [ -d ] [ -D ] [ start of change-Fend of change ] [ -n ] [ -q ] [ -r ] [ -v] [  -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ start of change-uend of change ] [ -f-i Wait ] [ -l Preload ] [ -p Pattern  ] [ -s PacketSize  ] [ -S hostname/IP addr ] [ -L ] [ -I a.b.c.d. ] [ -o interface ] [ -T ttl ] [ -E Interface_name | Source_Hostname | Source_IP_address ] Host [ PacketSize ] [ Count ]

Descrizione

Il comando ping invia un Internet Control Message Protocol (ICMP) ECHO_REQUEST per ricevere un ICMP ECHO_RESPONSE da un host o da un gateway. Il comando ping ha le seguenti funzioni:

  • Determina lo stato della rete e lo stato dei soli host stranieri.
  • Traccia e isola i problemi hardware e software.
  • Collauda, misura e gestisce le reti.

Se l'host è operativo e in rete, risponde all'eco. Ogni richiesta di echo contiene Internet Protocol (IP), l'intestazione ICMP, l'ID del processo di ping (PID), la struttura timeval e i byte necessari per completare il pacchetto.

Il comando ping invia un datagramma al secondo e stampa una riga di output per ogni risposta ricevuta dall'host di rete. Il comando ping calcola i tempi di andata e ritorno, le statistiche di perdita dei pacchetti e visualizza un riepilogo al termine. Il comando ping è completo quando il programma va in timeout o quando riceve un segnale SIGINT . Il parametro Host è un nome host valido o un indirizzo IP.

Il comando ping , per impostazione predefinita, continua a inviare richieste di eco al display finché non viene ricevuto un interrupt (Ctrl-C). È possibile modificare la chiave Interrupt utilizzando il comando stty .

Le richieste di eco ripetute potrebbero sovraccaricare il sistema. Pertanto, le richieste di eco ripetute devono essere utilizzate principalmente per isolare i problemi.

Indicatori

Tabella 1. indicatori
Elemento Descrizione
-c Conteggio Specifica il numero di richieste di eco indicate dalla variabile Count che devono essere inviate e ricevute.
-w timeout Fa sì che il ping attenda per un massimo di secondi di timeout una risposta dopo l'invio dell'ultimo pacchetto. Il flag -w funziona solo con il flag -c .
-d Avvia il debug a livello di socket.
-D Provoca un dump esadecimale su un output standard dei pacchetti ICMP ECHO_REPLY .
-E nome_interfaccia | nome_host_origine | indirizzo_IP_origine Invia o riceve i pacchetti ping su un'interfaccia specifica per il protocollo Internet versione 4 ( IPv4 ) e il protocollo Internet versione 6 ( IPv6 ). Se si specifica un nome di interfaccia, un nome host di origine o un indirizzo IP di origine che non è l'indirizzo di interfaccia della macchina, viene restituito un errore e i pacchetti ping non vengono inviati. Se si specifica un nome interfaccia con l'indicatore -E , per impostazione predefinita, il numero di richieste echo (-c Conteggio) è impostato su un valore di 5.
Note:
  • Il flag -E assicura l'invio o la ricezione di un pacchetto ping su un'interfaccia specifica.
  • Il flag -E agisce solo sull'indirizzo MAC (Media Access Control) di destinazione e non sulle rotte salvate. Pertanto, l'indicatore -E funziona nel protocollo IPv4 solo se viene risolto l'ARP (address resolution protocol). L'indicatore -E funziona nel protocollo IPv6 solo se l'NDP (neighbor discovery protocol) risolve un indirizzo IPv6 in un indirizzo MAC.
  • Non è possibile eseguire il flag -R con il flag -E perché il flag -E non funziona sui percorsi salvati.
inizio del cambiamento-Ffine del cambiamento Visualizza la latenza del comando ping in virgola mobile.
-f Specifica l'opzione flood-ping. Il flag -f esegue il flooding o l'output dei pacchetti alla stessa velocità con cui tornano indietro o 100 volte al secondo, a seconda di quale sia il valore più alto. Per ogni ECHO_REQUEST inviato viene stampato un punto (.), mentre per ogni ECHO_REPLY ricevuto viene stampato un backspace (/). Questa operazione consente di visualizzare rapidamente il numero di pacchetti che vengono abbandonati. Il flag -f è utilizzato solo dall'utente root.
Nota: utilizzare il flag -f con cautela. Il ping pinging è consentito solo dall'utente root. IL -f la bandiera è incompatibile con -i Aspetta la bandiera.
-I a.b.c.d Specifica che l'interfaccia specificata dalla variabile a.b.c.d deve essere utilizzata per i multicast IPv4 in uscita.
-o interfaccia Specifica che la variabile di interfaccia deve essere utilizzata per i multicast in uscita da IPv6. L'interfaccia è specificata nella forma en0, tr0, e così via.
-i Attesa Attende il numero di secondi specificato dalla variabile Wait tra ogni trasmissione di pacchetti. Il default è di attendere un secondo tra ogni pacchetto. Il flag -i è incompatibile con il flag -f . inizio del cambiamentoSe si specifica il flag -u , un intervallo passato al flag -i viene considerato in microsecondi. L'intervallo valido per il flag -u è maggiore o uguale a 50 e minore di 1000000 microsecondi. Un valore di 1000000 microsecondi equivale a 1 secondo. Non utilizzare il flag -i con il flag -D .fine del cambiamento
-L Disattiva il loopback locale per i ping multicast.
-l Precarica Invia il numero di pacchetti specificato dalla variabile Preload il più velocemente possibile prima di passare alla modalità di comportamento normale. Il comportamento normale è uno al secondo.
-n Specifica solo l'uscita numerica. Non si tenta di cercare un nome simbolico per gli indirizzi host.
-p Modello Specifica fino a 16 byte di pad per completare il pacchetto inviato. Il flag -p diagnostica i problemi dipendenti dai dati in una rete. Ad esempio, -p ff riempie il pacchetto con tutti 1.
-q Specifica l'uscita silenziosa. Vengono visualizzate solo le righe di riepilogo dell'ora iniziale e finale.
-r Salta le tabelle di routing e invia direttamente a un host su una rete collegata. Se l' Host non si trova su una rete connessa direttamente, il comando ping genera un messaggio di errore. Il flag -r può essere usato per eseguire il ping di un host locale attraverso un'interfaccia che non ha più un percorso attraverso di essa.
-R Specifica l'opzione RECORD_ROUTE . Il flag -R include l'opzione RECORD_ROUTE nel pacchetto ECHO_REQUEST e visualizza il buffer della rotta sui pacchetti restituiti.
Nota: l'intestazione IP è sufficientemente grande per nove percorsi di questo tipo. Molti host e gateway ignorano il flag -R .
-a famiglia_di_indirizzo Mappa l'indirizzo di destinazione dei pacchetti ICMP nel formato IPv6 se addr_family è uguale a inet6.
-s PacketSize Specifica il numero di byte di dati da inviare. Il byte di dati predefinito è 56, che si converte in 64 byte di dati ICMP se combinato con gli 8 byte dell'intestazione dei dati ICMP.
-S nome host/indirizzo IP Utilizza l'indirizzo IP come indirizzo sorgente nei pacchetti ping in uscita. Negli host con più di un indirizzo IP, il flag -S può essere utilizzato per inviare o ricevere i pacchetti ping utilizzando un indirizzo IP di origine specifico. Se l'indirizzo IP non è uno degli indirizzi di interfaccia della macchina, viene restituito un errore e non viene inviato nulla.
Nota: È possibile utilizzare il flag -S per inviare o ricevere il pacchetto ping utilizzando un indirizzo IP di origine specifico, ma il flag -S non garantisce l'invio o la ricezione di un pacchetto ping su un'interfaccia specifica. Invece, utilizzare il flag -E che assicura l'invio o la ricezione di un pacchetto ping su un'interfaccia specifica.
-T ttl Specifica che la durata di un pacchetto multicast è di ttl secondi.
inizio del cambiamento-ufine del cambiamento Utilizzate il flag -u insieme al flag -i . Se si specifica il flag -u , un intervallo passato al flag -i viene considerato in microsecondi. L'intervallo valido per il flag -u è maggiore o uguale a 50 e minore di 1000000 microsecondi. Un valore di 1000000 microsecondi equivale a 1 secondo. Non utilizzare il flag -u con il flag -D .
-v Richiede l'output verboso, che elenca i pacchetti ICMP ricevuti oltre alle risposte di eco.

Parametri

Tabella 2. Parametri
Elemento Descrizione
PacketSize Specifica il numero di byte di dati da inviare. Il byte di dati predefinito è 56, che si converte in 64 byte di dati ICMP quando si combinano con gli 8 byte dei dati dell'intestazione ICMP. Questo parametro è incluso per compatibilità con le versioni precedenti del comando ping .
Conteggio Specifica il numero di richieste di eco da inviare e ricevere. Questo parametro viene incluso per la compatibilità con le versioni precedenti del comando ping .

Sicurezza

Attenzione utenti RBAC
Attenzione utenti RBCA: questo comando può eseguire operazioni privilegiate. Solo gli utenti privilegiati possono eseguire operazioni privilegiate. Per ulteriori informazioni su autorizzazioni e privilegi, vedere Database dei comandi privilegiati in Sicurezza. Per un elenco dei privilegi e delle autorizzazioni associate a questo comando, vedere il comando 'lssecattr o il sottocomando 'getcmdattr.

Esempi

  1. Per verificare la connessione di rete dell'host noto come canopus e per specificare il numero di richieste di eco da inviare, immettere il seguente comando:
    ping  -c 5 canopus
    OPPURE
    ping canopus  56  5
    Viene visualizzato un output simile al seguente esempio:
    PING canopus.austin.century.com: (128.116.1.5): 56 data bytes
    64 bytes from 128.116.1.5: icmp_seq=0 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=1 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=2 ttl=255 time=3 ms
    64 bytes from 128.116.1.5: icmp_seq=3 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=4 ttl=255 time=2 ms
    
    ----canopus.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 2/2/3 ms
  2. Per ottenere le informazioni sull'host noto come lear e per avviare il debug a livello di socket, immettere il seguente comando:
    ping  -d  lear
    Viene visualizzato un output simile al seguente esempio:
    PING lear.austin.century.com: (128.114.4.18) 56 data bytes
    64 bytes from 128.114.4.18: icmp_seq=0 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=1 ttl=255 time=17 ms
    64 bytes from 128.114.4.18: icmp_seq=2 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=3 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=4 ttl=255 time=6 ms
    ^C
    ----lear.austin.century.com PING Statistics ----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 6/8/17 ms
    Nota: l'uscita viene ripetuta finché non viene ricevuto un interrupt (C®trl-C).
  3. Per ottenere un'informazione sull'host noto come opus e per specificare il numero di byte di dati da inviare, inserire il seguente comando:
    ping  -s 2000 opus
    OPPURE
    ping opus  2000
    Viene visualizzato un output simile al seguente esempio:
    PING opus.austin.century.com: (129.35.34.234): 2000 data bytes
    2008 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=19 ms
    2008 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=19 ms
    2008 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=19 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    7 packets transmitted, 7 packets received, 0% packet loss
    round-trip min/avg/max = 19/19/20 ms
    Nota: L'uscita viene ripetuta finché non viene ricevuto un interrupt (Ctrl-C).
  4. Per avviare l'opzione di flood-ping verso l'host stlopnor, inserire il seguente comando:
    ping  -f stlopnor
    Viene visualizzato un output simile al seguente esempio:
    Ping stlopnor.austin.century.com: (129.35.34.234): 56 data bytes
    .^C
    ----stlopnor.austin.century.com PING Statistics ----
    1098 packets transmitted, 1097 packets received, 0% packet loss
    round-trip min/avg/max = 4/4/11
    Nota: L'uscita viene ripetuta finché non viene ricevuto un interrupt (Ctrl-C).
  5. Per specificare un intervallo di cinque secondi tra i pacchetti inviati all'host opus, inserire il seguente comando:
    ping  -i5 opus
    Viene visualizzato un output simile al seguente esempio:
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=6 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/6 ms
    Nota: L'uscita viene ripetuta finché non viene ricevuto un interrupt (Ctrl-C).
  6. Per inviare all'host opus il numero di pacchetti specificato dalla variabile Preload prima di passare alla modalità di comportamento normale, immettere il comando seguente:
    ping  -l 10 opus
    Viene visualizzato un output simile al seguente esempio:
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=9 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=11 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=16 ms
    64 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=22 ms
    64 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=26 ms
    64 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=27 ms
    64 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=30 ms
    64 bytes from 129.35.34.234: icmp_seq=7 ttl=255 time=31 ms
    64 bytes from 129.35.34.234: icmp_seq=8 ttl=255 time=33 ms
    64 bytes from 129.35.34.234: icmp_seq=9 ttl=255 time=35 ms
    64 bytes from 129.35.34.234: icmp_seq=10 ttl=255 time=36 ms
    64 bytes from 129.35.34.234: icmp_seq=11 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=12 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=13 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=14 ttl=255 time=7 ms
    64 bytes from 129.35.34.234: icmp_seq=15 ttl=255 time=6 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    16 packets transmitted, 16 packets received, 0% packet loss
    round-trip min/avg/max = 6/19/36 ms
    Nota: L'uscita viene ripetuta finché non viene ricevuto un interrupt (Ctrl-C).
  7. Per diagnosticare un problema dipendente dai dati in una rete, immettere il seguente comando:
    ping -p ff opus
    Questo comando invia i pacchetti con un pad-pattern di tutti 1 all'host opus. Viene visualizzato un output simile al seguente esempio:
    PATTERN: 0xff
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=5 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/6 ms
    Nota: L'uscita viene ripetuta finché non viene ricevuto un interrupt (Ctrl-C).
  8. Per specificare un'uscita silenziosa, immettere il seguente comando:
    ping  -q bach
    Viene visualizzato un riepilogo simile al seguente esempio:
    PING bach.austin.century.com: (129.35.34.234): 56 data bytes
    ^C
    ----bach.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/8 ms
    Nota: L'uscita viene ripetuta finché non viene ricevuto un interrupt (Ctrl-C).
  9. Per inviare o ricevere i pacchetti ping su un'interfaccia specifica, inserire il seguente comando:
    ping -E en1 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02
    Viene visualizzato un output simile al seguente esempio:
    Using Source Address 2020:1234:5678:9122:2c6f:57ff:3e6b:58
    PING 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: (2020:1234:5678:9122:2c6f:57ff:fe6b:8b02): 56 data bytes
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=0 ttl=64 time=1.462 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=1 ttl=64 time=0.917 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=2 ttl=64 time=1.187 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=3 ttl=64 time=1.105 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=4 ttl=64 time=1.114 ms
    
    --- 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02 ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 0/0/1 ms
  10. inizio del cambiamentoPer verificare la connessione di rete del server ping host noto come commodev2 e specificare che la latenza deve essere in virgola mobile, immettere il seguente comando:
    ping -F commodev2
    Viene visualizzato un output simile al seguente esempio:
    # ping -F commodev2
    PING commodev2.pok.stglabs.ibm.com: (9.114.250.236): 56 data bytes
    64 bytes from 9.114.250.236: icmp_seq=0 ttl=255 time=0.315 ms
    64 bytes from 9.114.250.236: icmp_seq=1 ttl=255 time=0.100 ms
    64 bytes from 9.114.250.236: icmp_seq=2 ttl=255 time=0.088 ms
    64 bytes from 9.114.250.236: icmp_seq=3 ttl=255 time=0.090 ms
    --- commodev2.pok.stglabs.ibm.com ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max = 0.088/0.148/0.315 ms
    fine del cambiamento
  11. inizio del cambiamentoPer specificare un intervallo di 1000 microsecondi tra i pacchetti inviati all'host commodev6 (server ping), inserire i seguenti comandi:
    • Nell'esempio seguente, l'host ping server commodev6 si interrompe per una durata di 4 secondi e 2 secondi consecutivi.

      # ping -ui 1000 commodev6
      PING commodev6.pok.stglabs.ibm.com: (9.114.248.17): 56 data bytes
      Packets from icmp_seq 1507 (time:14:20:09.283540) to 5464 (time:14:20:13.287128) missed
      Packets from icmp_seq 10415 (time:14:20:18.295048) to 12396 (time:14:20:20.299296) missed
      --- commodev6.pok.stglabs.ibm.com ping statistics ---
      19438 packets transmitted, 13497 packets received, 30% packet lost
      round-trip min/avg/max = 0.050/0.058/0.124 ms
    • Nell'esempio seguente, la maggiore distanza tra il client ping e il server ping fa sì che la risposta al ping sia ritardata e non ordinata.

      # ping -ui 1000 aixbase.aus.stglabs.ibm.com
      PING aixbase.aus.stglabs.ibm.com: (9.3.199.113): 56 data bytes
      Packets from icmp_seq 179 (time:14:24:17.106403) to 181 (time:14:24:17.340580) missed
      icmp_seq=181 received out of order
      icmp_seq=179 received out of order
      icmp_seq=180 received out of order
      …
    • Nell'esempio seguente, non vengono ricevute risposte dal server ping commodev6 .

      # ping -ui 1000 commodev6
      PING commodev6.pok.stglabs.ibm.com: (9.114.248.17): 56 data bytes
      --- commodev6.pok.stglabs.ibm.com ping statistics ---
      3609 packets transmitted, 0 packets received, 100% packet loss
    • Nell'esempio seguente, il server ping è sempre attivo e le risposte a tutte le richieste di ping vengono ricevute dal client ping.

      # ping -ui 1000 commodev6
      PING commodev6.pok.stglabs.ibm.com: (9.114.248.17): 56 data bytes
      
      --- commodev6.pok.stglabs.ibm.com ping statistics ---
      1989 packets transmitted, 1989 packets received, 0% packet loss
      round-trip min/avg/max = 0.050/0.056/0.322 ms
    fine del cambiamento