* sabato 16 dicembre 2006, alle 12:01, Guido Bolognesi [Zen] scrive:
> >protocolli di rete. traceroute traffica icmp, e quindi subisce lo
> >stesso
> >trattamento di ping. Al limite ti e` utile per capire dove avviene il
>
> Immagino tu stessi semplificando a scopi divulgativi, perche` come sai
> non e` completamente vero.
Of Course. Questione di "scala del problema". Se mi dici "non raggiungo
il mio host perche` non mi risponde al ping", mi sento di portare il
tutto a classe di problemi.
Nello specifico, a beneficio della platea:
ping manda pacchetti icmp di tipo ECHO (ECHO_REQUEST e possibilmente si
attende un ECHO_REPLY).
traceroute, di _default_, almeno l'implementazione unix (quella windows
e` diversa), utillizza il campo "time to live" del datagramma ip, per
definire, sulla base della risposta *icmp* TIME_EXCEEDED, i vari hop.
Risultato, se io filtro icmp _tutto_, sia ping (perche` non arriva
ECHO_REQUEST e/o non parte ECHO_REPLY), sia traceroute (perche` non
parte TIME_EXCEEDED) funzionano come ci si aspetta.
L'opzione -I di traceroute, permette di usare ECHO_REQUEST per fare
probing ma il problema non si risolve, essendo anche esso parte delle
richieste icmp (anzi sposto tutto su icmp).
Per questi host (che io considero malconfigurati), l'unica e` uscire da
udp e da icmp e andare di probing via tcp. O con tcptraceroute che
implementa la tecnica di inviare dei tcp SYN per calcolare il path
anziche` udp o icmp, aggirando cosi la molteplicita` dei firewall
configurati in questo modo, o con software piu` complesso come nmap.
Prima che me lo chiedi: per i firewall stateless, puoi usare l'opzione
-A che imposta il flag tcp ACK nei pacchetti uscenti.
Fa anche altre cose utili.
E` meno killer-app rispetto a nmap, nmap e` molto casinaro (e
ovviamente, fa centomilioni di cose in piu`).
> Traceroute sotto unix di default manda pacchetti udp in un range di
> porte
> che partono dalla 33434 e si basa sui pacchetti icmp time exceeded che
> tornano indietro al sender.
Appunto. Se filtro icmp, non ti tornano i pacchetti, e l'effetto
"visivo" e` che traceroute non va. ;)
> Solo l'implementazione di Windows utilizza icmp in entrambi i sensi.[1]
> Non so sotto linux, l'implementazione che ho io (4.3BSD) permette di
> specificare
> quale delle due modalita` usare (-I / -P icmp), e pare supporti pure
> GRE.
>
> Questa e` solo una delle dimostrazioni del perche` bloccare icmp in
> modo indiscriminato e` una cagata pazzesc^W^W^W^W non ha molto senso.
Ti quoto con il sangue (c). ;)
> >Pubblico e dinamico e` un concetto
> >commerciale, non tecnico.
>
> Eh? pubblico/non pubblico mi pare che sia un concetto dipendente da
> RFC1918,
> storture fastweb-like a parte. Dinamico/fisso, al limite puo` essere
> una distinzione commerciale per le offerte di adsl/ppp casalinghe,
> in altri contesti e` piuttosto chiara (tecnicamente) la differenza. :P
Yep, volevo poi scrivere statico/dinamico.
> yo!
bring the noise!
--
Maurizio - Tannoiser - Lemmo
Founder Member of ERLUG http://erlug.linux.it
-------------------------------------------------------------------------------
Oggi come oggi RIP1 su un router e` utile ed attuale come la
regolazione manuale dell'anticipo su un'automobile.
-- ap
|