laboratorio TCPTRACEROUTE


Utilice el comando tcptraceroute para registrar información de la ruta en entornos donde traceroute ICMP básico o sencillo no funciona contra los firewalls convencionales
envía UDP o paquetes de eco ICMP con un TTL incrementado en 1, e incrementa el TTL hasta que se ha alcanzado el destino.es decir si el TTL esta incrementado en 1 o 2 significa que nuestro target está en nuestra misma red, pero hay que tener en cuenta que todo avanza más en esto de la tecnología y hay que saber que si realizamos un análisis por ejemplo a un host que está en nuestra misma red y el TTL se ve aumentado más de lo normal esto significa que hay un firewall en el medio y este nos entorpece nuestro trabajo  Sin embargo, en muchos casos, estos firewalls permitirán los paquetes TCP entrantes a puertos específicos que estén corriendo detrás del firewall este envía paquetes TCP SYN en vez de paquetes UDP o ICMP ECHO y asi es capaz de eludir a los firewalls más corrientes 




Las opciones de tcptraceroute

Usar tcptraceroute    [-n NFSAE]       [-i  <interface>]          [-f  <first ttl>]
                [-l <packet length>]  [-q  <number of queries>]      [-t <tos>]
                [-m <max ttl>]  [-pP]   <source port>]  [-s<source address>]
                [-w<wait time>]    <host>   [destination port]     [ packt length]

-n:        la salida numérica para mostrar, en lugar de hacer una búsqueda DNS inversa para cada     
             salto. De forma predeterminada, las búsquedas inversas no se intentan en     
               RFC1918 espacio de direcciones, independientemente de la opción-n.
-N:         Realice una búsqueda DNS inversa para cada salto, incluyendo direcciones RFC1918.
-f:         Establecer el TTL inicial utilizado en el primer paquete saliente. El valor predeterminado 1.
-m:       permite ajustar al máximo TTL utilizado en los paquetes salientes. El valor predeterminado
             es 30.
-P:         Utilice el puerto TCP local especificado en los paquetes salientes. El valor por defecto es
              obtener un puerto libre del kernel usando bind. A diferencia con traceroute tradicional,
              este  número no aumentará con cada salto.
-s:         Establecer la dirección de origen para los paquetes salientes. Véase también el indicador-i.
-I:          Utilice la interfaz especificada para los paquetes salientes.
-q:       Permite definir el número de sondas o query*3 que se enviarán a cada salto. El valor   
             Predeterminado es 3.
-W:       Ajuste el tiempo de espera, en segundos, que esperará una respuesta para cada     
             sonda. El valor predeterminado es 3.
-S:         Active la marca TCP SYN*1 en paquetes salientes. Este es el valor predeterminado, si no-S   
              o-A se especifica.
-A:        Establezca el indicador ACK*1 TCP en paquetes salientes. Al hacerlo, es posible rastrear a
              través de cortafuegos sin estado que permiten conexiones TCP salientes.
-E:         Enviar ECN*2 paquetes SYN*1, como se describe en RFC2481.
-t:          Establecer las condiciones de servicio IP (tipo de servicio(tos)) para ser utilizados en los    
              paquetes salientes. Por defecto no se configuran ninguno TOS.
-F:         Ajuste la IP "no fragmentar" bits en los paquetes salientes.
-l :        Ajuste la longitud del paquete total que se utiliza en los paquetes salientes. Si la longitud es    
              mayor que el tamaño mínimo requerido para montar los encabezados de los paquetes de    
              sonda(query) necesarias, este valor se incrementa de forma automática.
-D:         Habilitar la depuración, que puede o no puede ser de utilidad

*1 Flags (banderas):
Son los tríos de letras en la gráfica y cada bandera es de 1 bit.
Tenemos las siguientes banderas
URG:Si está a 1 indica que existen datos urgentes que transmitir.
ACK:Acknowledge (o acuse de recibo). El bit ACK Indica que el número de
confirmación es válido. Si el ACK es cero, el segmento no contiene una confirmación de recibo este es ignorado
PSH:De PUSH, empujar. Este bit indica datos empujados. Por este medio se solicita al receptor entregar los datos a la aplicación a su llegada y no colocarlos en memoria intermedia (o buffer -Búfer) hasta la recepción de un búfer completo
RST:De Reset. Reinicia o restablece una conexión que se ha confundido debido a una caída del host o a otro tipo de problema
SYN:De Sincronización. Está solo activo al principio de la comunicación. Indica que la máquina que lo recibe debe prepararse para una conexión.
FIN:De finalizar. Si está activo, Indica que el emisor ya no tiene más datos que transmitir y se libera unaconexión. Tanto el segmento FIN como el SYN tienen números de secuencia.
EOM:Indica el final del mensaje.
*2Notificación explícita de congestión
Explicit Congestion Notification (Reference: IP, RFC 2481)
*3 Query string, en español: cadena de consulta, este término generalmente se utiliza para hacer referencia a una interacción con una base de datos.
 


Para abrir nuestra herramienta veamos la siguiente imagen




Para nuestros ejercicios usaremos unos simples comandos
Tcptraceroute  -n www.google.com



Tcptraceroute  -N www.google.com
Realice una búsqueda DNS inversa para cada salto, incluyendo direcciones ip privadas o notificadas en la RFC1918

Tcptraceroute  -n www.google.com –f5
el TTL inicial utilizado en el primer paquete saliente será 5 indicado por la opción –f5 


Tcptraceroute-n www.google.com –m 35
-m 35 ajustamos el ttl con un valor maximo de 35 para los paquetes salientes

 recuerda bajar este pequeño tutorial en pdf y ver el video de implemetacion