Ping
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
| 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
- ↑ Cos'è il ping? Copia archiviata datata 29 gennaio 2019 presso la Wayback Machine // Internet provider di Kiev.
Collegamenti
- Storia del programma ping nelle parole dell'autore, Mike Musa Archiviato il 17 febbraio 2013 in Internet Archive .
- Interfaccia Web per ping Archiviato il 17 febbraio 2009 in Wayback Machine
- RFC 792
- Ping distribuito da più posizioni Archiviato il 17 aprile 2014 in Wayback Machine - I punti si trovano in più paesi.
- Prova di ping in linea
- Controllo del ping da varie parti del mondo Archiviato il 7 novembre 2015 in Wayback Machine - Molti punti di monitoraggio nella Federazione Russa.