close

Ping

Vai alla navigazione Vai alla ricerca

Ping  è un'utilità per controllare l'integrità e la qualità delle connessioni nelle reti basate su TCP/IP , nonché il nome comune per la richiesta stessa.

L'utilità invia le richieste (ICMP Echo-Request) del protocollo ICMP all'host specificato e acquisisce le risposte in arrivo (ICMP Echo-Reply). Il tempo che intercorre tra l'invio di una richiesta e la ricezione di una risposta ( RTT , dall'inglese  Round Trip Time ) consente di determinare i ritardi bidirezionali lungo il percorso e la frequenza di perdita dei pacchetti, ovvero determinare indirettamente il carico sui canali dati e sui dispositivi intermedi .

Nel discorso colloquiale, ping è anche chiamato il tempo in millisecondi impiegato per la trasmissione di un pacchetto di informazioni in reti di computer dal client al server e viceversa dal server al client [1] .

Etimologia

Il nome deriva dal nome inglese per il suono d'impulso prodotto dal sonar . Inizialmente, la parola "ping" (secondo la consonanza) era usata per riferirsi al segnale acustico direzionale del sonar antisommergibile o "asdiks" ( inglese  ASDIC , abbreviazione di Allied Submarine Detection Investigation Committee ).

Esempio

Se la diagnostica di rete viene eseguita nelle query sulla velocità di connessione, la prima cosa da fare è valutare la richiesta Ping echo, che determina l'integrità e la qualità della connessione in termini di richiesta di perdita di pacchetti di eco dall'origine della connessione. In questo caso, se la risposta alla richiesta arriva con un numero minimo di pacchetti, ad esempio circa 30 o meno, in questo caso l'impostazione dell'apparecchiatura di rete è instabile e presenta una falla di sicurezza. Pertanto, vale la pena dare importanza alla politica di sicurezza IP , al firewall , alla politica di gruppo e alle impostazioni della scheda di rete , alle impostazioni del router . Non confondere Ping, che determina l'integrità e la qualità della comunicazione , con i protocolli di comunicazione di trasporto TCP e UDP  , che determinano la velocità di trasferimento dei dati .

Una normale richiesta di eco è lunga 64 byte (più 20 byte dell'intestazione IP). Secondo lo standard RFC 791 IPv4 , la dimensione totale di un pacchetto non può superare i 65.535 byte.

La completa assenza di risposte ICMP può anche significare che l'host remoto (o uno qualsiasi dei router intermedi ) sta bloccando ICMP Echo-Reply o ignorando ICMP Echo-Request.

Il programma ping è uno dei principali strumenti diagnostici nelle reti TCP/IP ed è incluso nella fornitura di tutti i moderni sistemi operativi di rete . La funzionalità ping è implementata anche in alcuni sistemi operativi router embedded , l'accesso ai risultati del ping per tali dispositivi tramite protocollo SNMP è definito da RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute , and Lookup Operations).

Poiché l'invio di pacchetti ICMP richiede la creazione di socket grezzi , il ping sui sistemi UNIX richiede i privilegi di root . Per consentire agli utenti ordinari di utilizzare ping, il bit SUID è impostato nei permessi del file /bin/ping .

Storia

Il programma è stato scritto da Mike Muuss , uno scienziato del Ballistics  Research Lab , USA, nel dicembre 1983 .

Uso pratico

  • Puoi scoprire l'indirizzo IP dal nome di dominio. Prima dell'invio del primo pacchetto, viene eseguita una query al server DNS se viene specificato un host.
  • Puoi scoprire se il server è in esecuzione . Ad esempio, un amministratore di sistema può scoprire se solo il server web è inattivo o se c'è un problema con l'host.
  • Puoi scoprire se c'è una connessione con il server. Ad esempio, i problemi con la configurazione dei server DNS su una macchina possono essere rilevati eseguendo il ping prima del nome di dominio e quindi dell'indirizzo IP .
  • Puoi anche scoprire la qualità del canale guardando quante risposte non sono arrivate. Questo è spesso usato dai giocatori multiplayer perché la qualità della connessione è molto importante per loro. Sebbene questa non sia sempre un'indicazione della qualità della connessione, su alcune reti il ​​protocollo ICMP potrebbe avere una priorità bassa o essere completamente bloccato.

Struttura di un pacchetto ICMP

Datagramma IP
Bit 0 - 7 Bit 8 - 15 Bit 16 - 23 Bit 24 - 31
Intestazione IP
(20 byte)
Versione/DIU Tipo di servizio Lunghezza
Identificazione flag e offset
Tempo da vivere (TTL) Protocollo somma di controllo
indirizzo IP di origine
Indirizzo IP di destinazione
Intestazione ICMP
(8 byte)
Tipo di messaggio Codice somma di controllo
Dati di intestazione
Carico utile ICMP
( opzionale )
dati del carico utile

Contenuto generale del pacchetto ICMP

  • Intestazione IP (in blu):
    • Il protocollo è impostato su 1 (ICMP) e il tipo di servizio  su 0.
  • Intestazione ICMP (in rosso):
    • Tipo di messaggio ICMP (8 bit) — Tipo di messaggio ICMP.
    • Codice (8 bit).
    • Checksum (16 bit) - checksum, calcolato da parte del pacchetto ICMP, l'intestazione non viene utilizzata.
    • Dati di intestazione (32 bit): contiene l'identificatore (16 bit) e il numero di sequenza (16 bit) necessari per determinare correttamente il mittente.
  • Carico utile ICMP
    • Payload - necessario per memorizzare e trasmettere risposte di vario tipo. Ad esempio, TimeStamp.

Esempi

Sistemi simili a UNIX

Invia 3 pacchetti a intervalli di 5 secondi, accompagnati da segnali acustici quando si ricevono risposte

$ ping -ai 5 -c 3 wikipedia.org
PING wikipedia.org (208.80.152.2) 56(84) byte di dati.
64 byte da rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=1 ttl=46 tempo=180 ms
64 byte da rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=2 ttl=46 tempo=179 ms
64 byte da rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=3 ttl=46 tempo=189 ms

--- Statistiche sui ping di wikipedia.org ---
3 pacchetti trasmessi, 3 ricevuti, 0% di perdita di pacchetti, tempo 1000 ms
rtt min/media/max/mdev = 176.253/178.291/181.339/2.222 ms
$

Non decifrare i nomi degli indirizzi, visualizzare solo gli indirizzi IP

$ ping -n wikipedia.org

Trascorso il tempo (in questo caso 5 secondi), il ping completerà il suo lavoro

$ ping -w 5 wikipedia.org

Imposta la dimensione dei pacchetti inviati a 1000 byte (Debian)

$ ping -s 1000 wikipedia.org

Imposta la dimensione dei pacchetti inviati a 1000 byte (Solaris)

$ ping -s wikipedia.org 1000

Windows

Ping sulla riga di comando di Windows :

ping en.wikipedia.org

Scambio di pacchetti con rr.esams.wikimedia.org [91.198.174.225] 32 byte ciascuno:

Risposta da 91.198.174.225: numero di byte=32 tempo=54ms TTL=32
Risposta da 91.198.174.225: numero di byte=32 tempo=54ms TTL=32
Risposta da 91.198.174.225: numero di byte=32 tempo=54ms TTL=32
Risposta da 91.198.174.225: numero di byte=32 tempo=54ms TTL=32

Statistiche ping per 91.198.174.225:
Pacchetti: inviati = 4, ricevuti = 4, persi = 0 (0% di perdita),
Tempo approssimativo di andata e ritorno in ms:
Minimo = 54 ms, Massimo = 54 ms, Medio = 54 ms

Vedi anche

Note

  1. Cos'è il ping? Copia archiviata datata 29 gennaio 2019 presso la Wayback Machine // Internet provider di Kiev.

Collegamenti