Il comando Linux Ping

Il comando Linux Ping

Ping o Packet Internet Groper è un’utilità di gestione della rete che può controllare lo stato della connessione tra un computer/dispositivo sorgente e uno di destinazione su una rete IP. Aiuta anche a stimare il tempo necessario per inviare e ricevere una risposta dalla rete.

Tutti noi abbiamo i nostri siti web preferiti che visitiamo spesso; se uno di essi non si carica, vogliamo davvero sapere perché. È perché non abbiamo una connessione a Internet, o sono problemi con il nostro provider di servizi Internet che ci impediscono di accedere al sito web? Un’altra ragione potrebbe essere l’indisponibilità del sito stesso. Qualunque sia la ragione, il comando Linux Ping può darvi tutte le risposte.

Ping utilizza l’Internet Control Message Protocol (ICMP) per inviare e ricevere messaggi echo da e verso i computer host o di destinazione per tenerci informati sulle prestazioni della rete. Un messaggio di richiesta ICMP viene inviato al computer di destinazione; se l’indirizzo IP di destinazione è disponibile, invia un messaggio di risposta ICMP al computer host. Questo ci informa sullo stato di connettività della rete, come il tempo di andata e ritorno – il tempo necessario per inviare e ricevere un pacchetto di informazioni.

Utilizzando il comando Ping

Nel terminale Linux digitate il seguente comando:

ping

Questo è l’output che otterrete:

Comando ping Linux

Scriviamo (in ordine alfabetico) le opzioni comunemente usate che potete vedere sopra:

Opzione Descrizione
a Usa questa opzione per un segnale acustico quando il peer è raggiungibile
b Utilizzare questa opzione per permettere il ping di un indirizzo broadcast
B Utilizzare questa opzione se non si vuole permettere al ping di cambiare l’indirizzo sorgente della sonda
c (count) Utilizzare questa opzione per impostare il numero di volte da inviare la richiesta di ping
d Utilizzare questa opzione per impostare l’opzione SO-DEBUG sul socket in uso
f Utilizzare questa opzione per inondare la rete inviando centinaia o più pacchetti al secondo
i (intervallo) Utilizzare questa opzione per specificare un intervallo tra le successive trasmissioni di pacchetti. Il valore predefinito dell’intervallo è 1 secondo
I (indirizzo interfaccia) Utilizzare questa opzione per impostare l’indirizzo sorgente all’indirizzo di interfaccia specificato. Questa opzione è necessaria quando si esegue il ping dell’indirizzo locale del link IPv6. Il suo argomento può essere un indirizzo IP o il nome del dispositivo.
l (preload) Utilizzare questa opzione per impostare il numero di pacchetti da inviare senza attendere una risposta. Per selezionare un valore superiore a 3, è necessario essere un super utente.
n Utilizzare questa opzione per visualizzare gli indirizzi di rete come numeri piuttosto che come nomi di host
q Utilizzare questa opzione per visualizzare un output tranquillo. Significa che solo il riepilogo viene visualizzato all’avvio e all’ora di fine
T (ttl) Utilizzare questa opzione per impostare il Time To Live
v Utilizzare questa per un output verboso
V Utilizzare questa opzione per visualizzare la versione e uscire
w (deadline) Utilizzare questa opzione per specificare un timeout, in secondi, prima che il ping esca, indipendentemente da quanti pacchetti sono stati inviati o ricevuti.
W (timeout) Usa questa opzione per impostare il tempo (in secondi) di attesa di una risposta

Alcune funzioni ping di base

Qui ci sono alcune funzioni ping di base che verranno utilizzate per controllare le prestazioni della vostra rete:

Ping dell’host per la disponibilità

Puoi controllare se un host è vivo o no attraverso il seguente comando ping:

$ ping host-name/IP

Premere Ctrl+C per interrompere il comando

Ping dell'host per la disponibilità

Aumentare/Diminuire l’intervallo tra i pacchetti ping

L’intervallo di tempo predefinito tra l’invio di ogni pacchetto è 1 secondo in Linux. Puoi aumentare l’intervallo di tempo impostando un valore maggiore di 1 e diminuirlo impostando un valore minore di 1.

Ecco un esempio per aumentare l’intervallo di tempo tra due ping:

$ ping -i 5 127.0.0.1

Ecco un esempio per diminuire l’intervallo di tempo tra due ping:

$ ping -i 0.5 127.0.0.1

Come puoi vedere nell’immagine seguente, devi essere un superutente per impostare questo intervallo di tempo inferiore a 0.2 secondi:

Incremento/decremento dell'intervallo tra i pacchetti ping

Quindi, il comando dovrebbe essere eseguito con sudo. Dovrebbe essere come il seguente,

 $ sudo ping -i 0.5 127.0.0.1

Inserisci la password quando ti viene richiesto e il comando dovrebbe funzionare.

Cambiare la dimensione del pacchetto ping

La dimensione predefinita del pacchetto ping è di 56 byte. Puoi cambiarla attraverso il seguente comando:

$ ping -s packetsize hostname/IP

Qui stiamo impostando la dimensione del pacchetto a 100; puoi vedere il valore impostato a 100 nella prima linea di output:

Cambiare la dimensione del pacchetto di ping

Imposta il ping per inviare un numero desiderato di pacchetti

Puoi impostare il ping per inviare un numero desiderato di pacchetti come segue:

$ ping -c NumberOfPackets IP/hostname

Nel seguente esempio, stiamo impostando il numero di pacchetti come 5; dopo di che, i risultati finiranno:

Impostare il ping per inviare un numero desiderato di pacchetti

Inondare la rete

Il comando Ping permette ai super utenti di inviare 100 o più pacchetti al secondo attraverso il seguente comando:

$ sudo ping -f hostname-IP

Ping stampa un “.” quando invia un ping e “/” quando lo riceve.

Impostare il timeout del ping

È possibile impostare un limite di tempo dopo il quale il ping uscirà; non importa quanti pacchetti di ping vengono inviati o ricevuti:

$ ping -w timeinseconds hostname/ip

Qui stiamo usando 3 secondi come timeout:

Imposta il timeout del ping

Ping udibile

Il comando ping può essere impostato per emettere un bip per controllare se l’host è disponibile come segue:

$ ping -a hostname/ip

Facendo pratica con questo tutorial potrai eseguire i comandi ping per controllare le prestazioni della tua rete in modo ottimale. È anche possibile utilizzare interruttori avanzati per personalizzare le richieste e le risposte in ping.

Il comando Ping di Linux