Traceroute al descubierto
La herramienta Traceroute/Tracert es muy util y muy interesante y aprender como funciona me enseño algunas cosas:
En palabras complejas “solo” consiste en el envio de un paquete paquete Ip, con un tll modificado que va incrementando hasta llegar al objetivo y en el camino devuelve un Error ICMP hasta devolver un Echo Reply en el host objetivo.
¿Confundido? lo explico…
El sub-protocolo ICMP (Internet Control Message Protocol), es el encargado de notificar errores en el protocolo Ip devolviendo asi si un host recibe algo, o informar errores,este protocolo tiene el siguente formato:
| Bit 0 - 7 | Bit 8 - 15 | Bit 16 - 23 | Bit 24 - 31 |
|---|---|---|---|
| Tipo | Código | Suma de verificación (Checksum) |
|
| Datos (opcional) | |||
El tipo difiere del 0 al 40 en una lista que se puede encontrar aqui.
Dejemos esta idea y veamos TTL (Time to Leave), con el surgimiento de TCP/IP, se necesito alguna forma que si se enviaba un paquete a un host inexistente este no viajaria eternamente, entonces lo que TTL determina es el numero de host maximo que tiene que pasar para llegar a el host objetivo y si no llega devuelve un ICMP de error.
Entonces ¿Como funciona?, se envia un paquete Ip con cabecera modificada TTL que parte como ttl=1, esto devolvera un error ya que ttl bajaria a 0, devolviendo toda la informacion del primer host (ip), luego se envia ttl2, etc hasta que se devuelva en ttl = N un Echo Reply, entonces el host objetivo esta a N nodos del host de inicio.

Gracias a Wikipedia y otras web por hay, si me equivoque