PING
Section: Misc. Reference Manual Pages (8)
Index
Return to Main Contents
BSD mandoc
BSD 4.3
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.
Bf -emphasis
Questo può essere molto duro su una rete e deve essere usato con cautela.
Ef
- -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
BSD 4.3 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
ping ing
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
è aparso nella
BSD 4.3 .
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- ICMP PACKET DETAILS
-
- PACCHETTI DUPLICATI E DANNEGGIATI
-
- PROVARE DIFFERENTI PATTERN DATI
-
- TTL DETTAGLI
-
- BUG
-
- VEDERE ANCHE
-
- STORIA
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:53 GMT, June 17, 2008