GNU/Linux >> Linux Esercitazione >  >> Linux

Diagnostica i problemi di connettività con il comando ping di Linux

I computer in rete sono così comuni in questi giorni che la maggior parte di noi dà per scontato che un computer su un lato di una stanza possa contattare uno sull'altro lato della stanza, tanto meno l'altro lato del mondo. Quando funziona come previsto, la rete è ciò che rende possibile Internet, il cloud, le condivisioni di file, lo streaming multimediale, l'amministrazione remota, la stampa e molto altro. Quando qualcosa va storto, a volte può essere difficile da diagnosticare. Uno degli strumenti diagnostici più fondamentali per la connettività di rete è il ping comando.

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Il ping di base

Quando non riesci a raggiungere un computer sulla tua rete locale o un server su Internet, puoi eseguire il ping. Un ping invia un pacchetto ICMP (Internet Control Message Protocol) a un indirizzo IP di destinazione. ICMP è, in base alla progettazione, un formato rudimentale utilizzato principalmente per la diagnostica:è essenzialmente un segnale di chiamata e risposta.

Ma c'è un ordine per la risoluzione dei problemi e inizia il più vicino possibile a casa. In caso di dubbio, esegui prima il ping del tuo computer per assicurarti di eseguire uno stack di rete. Il computer che stai utilizzando è anche chiamato localhost e ha un indirizzo IP speciale assegnato per parlare da solo:12.0.0.1.

Il ping   il comando comprende localhost hostname, il suo indirizzo IP e una scorciatoia di solo 0 .

Puoi controllare quanti segnali invii con il -c (come in conte )  opzione.

$ ping 0 -c1
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.069 ms

--- 0 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms

Dopo aver stabilito che lo stack di rete locale è attivo e funzionante, puoi eseguire il ping del router. L'indirizzo di un router di solito inizia con 192.168 o 10. L'indirizzo IP esatto dipende dalla configurazione del router.

Quando non specifichi quanti ping inviare, puoi interrompere ping dall'esecuzione con Ctrl +C .

$ ping 192.168.0.1 
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.100: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=4 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1)
^C

Se riesci a raggiungere il tuo router, significa che la tua connessione cablata o wireless funziona.

E gli altri host sulla mia rete? Puoi eseguire il ping di tutti i tipi di dispositivi. Non tutti sono garantiti per rispondere (alcuni dispositivi rilasciano pacchetti ICMP), ma molti lo fanno. Ad esempio, posso eseguire il ping della mia stampante:

$ ping 192.168.0.4 

Ping oltre la tua rete

Oltre a stabilire che la tua rete funziona come previsto, puoi anche effettuare il ping nel mondo più ampio oltre il tuo router. Ancora una volta, non tutti i server possono ricevere, e tanto meno rispondere, ICMP. Tuttavia, ce ne sono alcuni che lo fanno e un server vitale per il funzionamento di Internet è un server dei nomi.

Il server DNS di Google è relativamente facile da ricordare e risponde ai ping:

$ ping -c 2 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms

--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms

Quando un sito è apparentemente scomparso, potresti essere in grado di sondare la rete DNS mondiale per scoprire qual è l'indirizzo del suo server host e quindi eseguire il ping di quel server. Questo almeno ti dice se l'host è inattivo o se si tratta solo di un problema con il server web.

Ad esempio, supponiamo che stai tentando senza successo di raggiungere example.com. Innanzitutto, trova l'indirizzo IP utilizzando il host comando:

$ host example.com
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946
example.com mail is handled by 0

E quindi eseguire il ping dell'host del sito Web tramite IP:

$ ping 93.184.216.34 -c 1

Ping e IPv6

Il ping funziona su IPv4 e IPv6. L'utilizzo di uno solo di essi in modo esplicito può essere imposto specificando -4 o -6 .

Dimensione del pacchetto

Puoi modificare la dimensione dei pacchetti ICMP che stai inviando con il -s opzione. La dimensione del pacchetto predefinita è 56, che si traduce in 64 byte di dati ICMP se combinata con l'intestazione a 8 byte. Questo comando invia 43 byte:

$ ping -s 35 -c 5 8.8.8.8

Puoi stampare un timestamp prima di ogni rapporto ping nel tuo terminale con il -D opzione. Questo fornisce il tempo dell'epoca UNIX, più microsecondi:

$ ping -D 8.8.8.8 
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[1634013430.297468] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
[1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms

Tempo di ping

Puoi modificare l'intervallo di tempo tra i ping utilizzando -i opzione. Questo cambia l'intervallo del ping in due secondi:

$ ping -i 2 

Puoi anche interrompere il ping dopo un certo periodo di tempo (in secondi) con il -w opzione:

$ ping -w 6

Varianti

Esistono molte implementazioni di ping. Il iputils il pacchetto fornisce un ping comando, Busybox ha un ping comando, e ce n'è uno da BSD e altri. C'è anche una GUI per ping :Gping è disponibile per Linux, macOS e Windows. Puoi trovare maggiori informazioni per gping su Github.

Impara a eseguire il ping

Il ping il comando è semplice, ma può essere occhi e orecchie puntati sulla vasta distesa che è la tua rete. La prossima volta che riscontri problemi di connettività, esegui il ping sii il primo strumento a cui ti rivolgi.


Linux
  1. Pianificazione delle attività con il comando cron di Linux

  2. Controlla i comandi e le attività con il comando watch di Linux

  3. Sostituisci le virgolette intelligenti con il comando sed di Linux

  4. Controlla lo stato del file su Linux con il comando stat

  5. Iniziare con il comando tac di Linux

Come utilizzare il comando who in Linux con esempi

Come utilizzare il comando Ping di Linux

Comando Ping in Linux

Comando IP Linux con esempi

Come trovare file con il comando fd in Linux

comando ping di Linux