Provided by:
manpages-it_2.80-3_all 
NOME
ping - invia pacchetti ICMP ECHO_REQUEST agli host della rete
SINTASSI
ping [-Rdfnqrv] [-c count] [-i wait] [-l preload] [-p pattern] [-s
packetsize] host
DESCRIZIONE
Ping usa il datagramma imperativo ECHO_REQUEST del protocollo ICMP per
ottenere una ICMP ECHO_RESPONSE da un host o gateway. I datagrammi
ECHO_REQUEST (‘‘ping’’) hanno un’intestazione IP e ICMP, seguita da un
“struct timeval” e quindi un numero arbitrario di byte ‘‘pad’’ usati per
completare il pacchetto. Le opzioni sono le seguenti:
-c count
Stop l’invio (e ricezione) di pacchetti count ECHO_RESPONSE
-d imposta l’opzione SO_DEBUG sul socket usato.
-f Flood ping. Emette pacchetti alla stessa velocità del loro
ritorno o cento volte al secondo, il maggiore tra i due. Per
ciascun invio ECHO_REQUEST viene stampato un punto ‘‘.’’, mentre
per ogni ECHO_REPLY ricevuto viene stampato un backspace. Questo
fornisce una rapida visualizzazione di quanti pacchetti sono
stati scartati. Solo il super-utente può usare questa opzione.
Questo pu essere molto duro su una rete e deve essere usato con
cautela.
-i wait
Aspetta wait secondi tra gli invii dei pacchetti. Il default è
di aspettare per unsecondo tra ciascun pacchetto. Questa opzione
è incompatibile con l’opzione -f.
-l preload
Se è specificato preload ping invia tutti questi pacchetti il più
velocemente possibile prima di tornare al suo normale modo di
comportamento.
-n Solo output numerico. Non verrà fatto nessun tentativo di
cercare nomi simbolici per gli indirizzi dell’host.
-p pattern
Si possono specificare fino a 16 byte ‘‘pad’’ per completare il
pacchetto da inviare. Questo è utile per diagnosticare i
problemi dipendenti dai dati in una rete. Per esempio “-p ff”
farà sì che il pacchetto inviato venga rimepito con deli uno.
-q Output silenzioso. Non è visualizzato nulla tranne le linee di
sommario all’avvio e quando termina.
-R Registra la strada. Include l’opzione RECORD_ROUTE nel pacchetto
ECHO_REQUEST e visualizza il buffer dell’instradamento sui
pacchetti restituiti. Notare che l’intestazione IP è solo
abbastanza grande per nove di tali strade. Molti host ignorano o
scartano questa opzione.
-r Bypassa le normali tabelle di instradamento e invia direttamente
a un host su una rete collegata. Se l’host non è su una rete
collegata direttamente viene restituito un errore. Questa opzione
può essere usata per fare un ping sull’host locale attraverso
un’interfaccia che non ha strada attraverso di esso (es., dopo
che l’interfaccia è stata scartata da .Xr routed 8 ) .
-s dimensione pacchetto
Specifica il numero di byte di dati da inviare. Il default è 56,
che si traduce in 64 byte di dati ICMP quando combinato con gli 8
byte dei dati di intestazione di ICMP.
-v Output prolisso. I pacchetti ICMP diversi da ECHO_RESPONSE che
vengono ricevuti sono elencati.
Quando si usa ping per isolare i guasti, deve prima essere avviato
sull’host locle, per verificare che l’interfaccia della rete locale sia
funzionante. Quindi, host e gateways lontani possono venire "pingati".
Vengono conteggiate le statistiche sui tempi di risposta e i pacchetti
persi Se vengono ricevuti pacchetti duplicati essi non sono inclusi nel
calcolo dei pacchetti persi, sebbene il tempo di risposta di questi
pacchetti sia usato nel calcolare i numeri di minimo/medio/massimo tempo
di risposta. Quando il numero specificato di pacchetti è stato inviato
(e ricevuto) o se il programma è terminato con un SIGINT, viene
visualizzato un breve sommario.
Questo programma è pensato per l’uso nel test delle reti, misura e
gestione. A causa del carico che può imporre alla rete, è sconsigliabile
usare ping durante le normali operazioni o da script automatizzati.
ICMP PACKET DETAILS
Un’intestazione IP senza opzioni è di 20 byte. Un pacchetto ICMP
ECHO_REQUEST contiene un’intestazione addizionale ICMP di 8 byte seguita
da un ammontare arbitrario di dati. Quando viene data una dimensione
pacchetto questo indica la dimensione di questa parte extra di dati (il
default è 56). Quindi l’ammontare di dati ricevuti in un pacchetto IP di
tipo ICMP ECHO_REPLY sarà sempre 8 byte in più dello spazio dati
richiesto (l’intestazione ICMP ).
Se lo spazio dati è grande almeno 8 byte, ping usa i primi 8 byte di
questo spazio per includere data e ora, che usa nel computo dei tempi di
risposta. Se sono specificati meno di otto byte di cuscinetto, non
vengono dati tempi di risposta.
PACCHETTI DUPLICATI E DANNEGGIATI
Ping riporterà i pacchetti duplicati e danneggiati. Non devono mai
esserci pacchetti duplicati, e ciò sembra causato da ritrasmissioni
inappropriate a livello di connessione. Le duplicazioni possono avvenire
in molte situazioni e sono raramente (per non dire mai) un buon segno,
sebbene la presenza di bassi livelli di duplicati potrebbe non sempre
essere causa di allarme.
I pacchetti danneggiati una seria causa di allarme, e spesso indicano
hardware malfunzionante da qualche parte nel percorso dei pacchetti di
ping (nella rete o ngeli host).
PROVARE DIFFERENTI PATTERN DATI
Lo strato di (inter)network non deve mai trattare i pacchetti in modo
differente in funzione dei dati contenuti nella porzione dati.
Sfortunatamente sono noti problemi dipendenti dai dati che si infilano
nelle reti e rimangono nascosti per lunghi periodi di tempo. In molti
casi il particolare schema che avrà problemi è qualcosa che non ha
sufficienti "transizioni", come tutti uno o tutti zero, o uno schema al
confine, come uno con quasi tutti zero. Non è necessariamente sufficiente
specificare uno schema dati di tutti zero (per esempio) sulla linea di
comando, perché lo schema di interesse è al livello collegamento dati, e
la relazione tra ciò che si digita e ciò che il controller trasmette può
essere complessa.
Ciò significa che se si ha un problema dipendente dai dati bisognerà
probabilmente fare molti test per trovarlo. Se si è fortunati si può
trovare un file che non può essere inviato attraverso la propria rete o
che impiega troppo tempo per trasferirsi di altri file di lunghezza
simile. Si può quindi esaminare questo file per trovare gli schemi
ripetuti, che si possono testare usando l’opzione -p di ping.
TTL DETTAGLI
Il valore TTL di un pacchetto IP rappresenta il numero massimo di router
IP che il pacchetto può attraversare prima di essere respinto. Nella
pratica corrente ci si può aspettare che ciascun router in Internet
decrementi il campo TTL esattamente di uno.
Le specifiche TCP/IP stabiliscono che il campo TTL per i pacchetti TCP
deve essere impostato a 60, ma molti sistemi usano valori minori ( BSD
4.3 usa 30, 4.2 usava 15).
Il massimo valore possibile di questo campo è 255, e molti sistemi Unix
impostano il campo TTL dei pacchetti ICMP ECHO_REQUEST a 255. Questa è
la ragione per cui si può fare ‘‘ping’’ su certi host, ma non li si può
raggiungere con telnet(1) o ftp(1).
Nelle operazioni normali ping stampa il valore ttl dal pacchetto che
riceve. Quando un sistema remoto riceve un pacchetto ping, esso può fare
una tra tre cose con il campo TTL in risposta:
· Non lo cambia; questo è ciò che i sistemi Berkeley Unix systems
facevano prima della release 4.3BSD-Tahoe. In questo caso il valore
TTL nel pacchetto ricevuto sarà 255 mano il numero di router nel
percorso di ritorno.
· Impostarlo a 255; questo è ciò che fanno attualmente i sistemi
Berkeley Unix. In questo caso il valore TTL nel pacchetto ricevuto
sarà 255 meno il numero di router nel percorso dal sistema remoto al
pinging host.
· Impostarlo su qualche altro valore. Alcune macchine usano per i
pacchetti ICMP lo stesso valore che usano per i pacchetti TCP, per
esempio o 30 o 60. Altri possono usare valori completamente casuali.
BUG
Molti Host e Gateway ignorano l’opzione RECORD_ROUTE.
La lunghezza massima dell’intestazione IP è troppo piccola per opzioni
come RECORD_ROUTE per essere completamente utile. Tuttavia su questo non
si può fare molto.
Il flood pinging in generale non è raccomandato, e il flood pinging su
indirizzo broadcast deve essere fatto solo sotto condizioni strettamente
controllate.
VEDERE ANCHE
netstat(1), ifconfig(8), routed(8)
STORIA
Il comando ping è aparso nella 4.3BSD.