Come eseguire il test network con il comando ping sul terminale linux

Il comando ping è uno strumento essenziale per verificare la connettività di rete in Linux. Invia pacchetti di dati a un indirizzo IP specifico e misura il tempo impiegato per ricevere una risposta, fornendo informazioni sulla latenza e sulla perdita di pacchetti. Consente agli amministratori di rete di inviare messaggi di controllo ICMP a un indirizzo IP specifico e ricevere una risposta in tempo reale. Ping è un’utilità di rete multipiattaforma semplice, ampiamente utilizzata per verificare se un host è raggiungibile su un Protocollo Internet (IP) rete. Funziona inviando una serie di Protocollo dei messaggi di controllo Internet (ICMP) RICHIESTA_ECHO messaggi all’host di destinazione e in attesa di un file ICMP eco risposta (o ECHO_RISPOSTA). I risultati includono il tempo di andata e ritorno dei pacchetti e la percentuale di pacchetti persi. Inoltre, è possibile specificare diverse opzioni come il numero di pacchetti da inviare e il tempo di attesa per ogni risposta. Il comando ping è uno strumento potente nella risoluzione dei problemi di rete e nel monitoraggio delle connessioni.

Puoi eseguire un test ping per stabilire se il tuo computer può comunicare con un altro computer (host di destinazione); ti aiuta a determinare:

  • Se l’host di destinazione è raggiungibile (attivo) o meno.
  • Per misurare la quantità di tempo necessaria ai pacchetti per arrivare all’host di destinazione e tornare al computer (il tempo di andata e ritorno (rtt) nella comunicazione con l’host di destinazione) e
  • La perdita di pacchetti è espressa in %.

Quando esegui il comando ping su Linux, il tuo computer invia messaggi ICMP di “echo request” all’indirizzo IP di destinazione specificato. Questi messaggi vengono poi ricevuti dal dispositivo di destinazione, che risponde con messaggi “echo reply”. Il tuo computer misura quindi il tempo impiegato per ricevere la risposta, chiamato RTT (Round-Trip Time), e ti mostra il risultato.

Il suo output è un elenco di risposte dall’host di destinazione insieme al tempo impiegato dall’ultimo pacchetto per raggiungere l’host di destinazione e tornare al computer. Mostra inoltre un riepilogo statistico del test, tipicamente comprendente il numero di pacchetti trasmessi e di quelli ricevuti, la percentuale di pacchetti persi; il minimo, il massimo, i tempi medi di andata e ritorno e la deviazione standard della media (mdev). Nel caso in cui un test ping fallisca, verranno visualizzati messaggi di errore come output.

1. Ping dominio o indirizzo IP

Puoi eseguire un semplice ping test per vedere se l’host di destinazione www.google.com è raggiungibile o meno. Puoi anche utilizzare un indirizzo IP invece del nome di dominio come mostrato.

$ ping www.google.com
OR
$ ping 172.217.27.196

Esempio di output:

ping www.google.com
PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms
^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms
...

Dai risultati del comando precedente, il file ping ha avuto successo e non ci sono stati pacchetti persi. Una cosa importante da prendere in considerazione, in un output di test ping è il tempo alla fine di ogni risposta ping.

Supponendo che tu stia eseguendo test di ping sui tuoi server, il valore qui è molto importante, a seconda del tipo di applicazione che stai eseguendo su un server.

Se, ad esempio, disponi di un’applicazione Web in cui una singola richiesta utente genera così tante query a uno o più database per generare risultati sull’interfaccia utente, un tempo di ping inferiore a quel particolare server implica che più dati vengono trasmessi senza un ritardo ed è vero il contrario.

2. Ping Eco Request

È possibile specificare il numero di ECHO_REQUEST da inviare dopodiché esce il ping, utilizzando il -c flag come mostrato (in questo caso il test ping si interromperà dopo l’invio 5 pacchetti).

$ ping -c 5 www.google.com
PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms
--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms

3. Impostare il timeout dell’intervallo di ping

IL -i flag consente di impostare intervalli in secondi tra l’invio di ciascun pacchetto, il valore predefinito è un secondo.

$ ping -i 3 -c 5 www.google.com
PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms
--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12014ms
rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms

4. Attacco DoS con Ping Flooding, noto anche come Ping of Death

Per determinare la risposta della tua rete in condizioni di carico elevato, puoi eseguire un “ping di inondazione” che invia le richieste il più velocemente possibile, utilizzando il -f interruttore. Solo il root può usare questa opzione, altrimenti usa il file comando sudo per ottenere i privilegi di root.

$ sudo ping -f www.google.com
OR
$ sudo ping -f -i 3 www.google.com	#specify interval between requests 
PING www.google.com (172.217.163.36) 56(84) bytes of data.
.......................................................................................................................................................................................^C
--- www.google.com ping statistics ---
2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms
rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms

5. Trasmissione ping di una LAN

È possibile abilitare il ping di una trasmissione utilizzando il -b opzione, che otterrà una risposta da tutti gli indirizzi IP connessi alla rete LAN.

$ ping -b 192.168.0.0

6. Impostare il valore Ping TTL

Per limitare il numero di hop di rete (TTLTempo di vivere) che le sonde attraversano, utilizzare il -t bandiera. È possibile impostare qualsiasi valore compreso tra 1 E 255; diversi sistemi operativi impostano impostazioni predefinite diverse.

Ogni router che riceve il pacchetto sottrae almeno 1 dal conteggio e se il conteggio è ancora maggiore di 0il router inoltra il pacchetto all’hop successivo, altrimenti lo scarta e invia un ICMP risposta al tuo computer.

In questo esempio, il TTL è stato superato e il ping il test è fallito, come mostrato nello screenshot.

$ ping -t 10 www.google.com
Imposta il conteggio Ping TTL
Imposta il conteggio Ping TTL

7. Impostare la dimensione del pacchetto Ping

La dimensione predefinita del pacchetto dovrebbe essere sufficiente per un test ping, tuttavia è possibile modificarla per soddisfare le proprie esigenze di test specifiche. È possibile specificare la dimensione del payload, nel numero di byte utilizzando il -s opzione, che risulterà in una dimensione totale del pacchetto del valore fornito più 8 byte aggiuntivi per l’intestazione ICMP.

$ ping -s 1000 www.google.com

8. Impostare il precarico del ping

Se viene aggiunto il precaricamento, ping invia così tanti pacchetti senza attendere una risposta. Si noti che solo la radice può selezionare un precaricamento superiore a 3in caso contrario, utilizzare il comando sudo per ottenere i privilegi di root.

$ sudo ping -l 5 www.google.com 

9. Impostare il timeout del ping

È inoltre possibile impostare il tempo di attesa per una risposta, in secondi, utilizzando il -W opzione come mostrato.

$ ping -W 10 www.google.com

10. Impostare il timeout del ping in secondi

Per impostare un tempo scaduto in secondi, prima che il ping esca indipendentemente dal numero di pacchetti inviati o ricevuti, usa il -w bandiera.

$ ping -w 5 www.google.com

11. Ping Debug dei pacchetti ICMP

IL -d L’opzione consente di abilitare i dettagli del pacchetto IP di debug come mostrato.

$ ping -d www.google.com

12. Output dettagliato del ping

È possibile abilitare l’output dettagliato utilizzando il file -v bandiera, come segue.

$ ping -v www.google.com

Nota: Ping potrebbe non essere necessariamente utilizzato per testare la connettività di rete, indica semplicemente se un indirizzo IP è attivo o inattivo. Il tempo di risposta è un fattore importante da considerare quando si verifica la stabilità della rete. Se il tempo di risposta è elevato o se i pacchetti di dati vengono persi durante la trasmissione, potrebbe esserci un problema di connettività di rete. Il comando ping mostra anche il numero di pacchetti inviati e ricevuti, nonché la percentuale di pacchetti persi.

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • [email protected]

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *