Traceroute
traceroute – imprimir la traza enrutar paquetes a la red de acogida
Sinopsis
- [ -i dispositivo ] [ -m max_ttl ] [ port-p ] [ -s src_addr ]
- [ -q nqueries ] [ -N squeries ] [ -t tos ]
- [ -l flow_label ] [ -w waittime ] [ -z SendWait ]
- [ UL ] [ -P proto ] [ – sport = puerto ] [ -M método ] [ mod_options-O ]
- [ – mtu ] [ – back ]
- acogerá [ packet_len ]
- traceroute6 [ opciones ]
Descripción
Ruta de seguimiento de seguimiento de los paquetes de rutas tomadas de una red IP en su camino a un host determinado. Utiliza el tiempo del protocolo IP para vivir de campo y los intentos de provocar una respuesta ICMP TIME_EXCEEDED de cada puerta de entrada a lo largo de la ruta de acceso al host (TTL).
traceroute6 es equivalente a traceroute -6
El parámetro sólo se requiere es el nombre o la dirección IP del destino de acogida . Los opcionales packet_len gth ‘es el tamaño total del paquete de sondeo (por defecto 60 bytes para IPv4 y 80 para IPv6). El tamaño especificado se puede ignorar en algunas situaciones o aumentarse hasta un valor mínimo.
Este programa intenta localizar la ruta de un paquete IP seguiría a algún host de Internet con el lanzamiento de paquetes de sondeo con un pequeño TTL (tiempo de vida), entonces la escucha de un ICMP «tiempo excedido» responder de una puerta de enlace. Comenzamos nuestras sondas con un TTL de uno y aumentar en uno hasta que tengamos un «puerto inalcanzable» ICMP (o restablecimiento de TCP), lo que significa que llegamos al «host», o golpear un máximo (que por defecto es 30 saltos). Tres sondas (por defecto) se envían en cada ajuste ttl y una línea se imprime muestra el ttl, la dirección de la puerta de entrada y el tiempo de ida y vuelta de cada sonda. La dirección puede ir seguida de información adicional cuando se le solicite. Si las respuestas de sonda provienen de diferentes puertas de enlace, la dirección de cada sistema de respuesta será impreso. Si no hay respuesta en unos 5,0 segundos (predeterminado), un «*» (asterisco) se imprime para esa sonda.
Después del tiempo de viaje, alguna anotación adicional se puede imprimir: ! H , ! N o ! P (host, red o protocolo inalcanzable), ! S (ruta origen no), ! F (fragmentación necesaria),! X (comunicación vía administrativa Prohibida), ! V (host precedencia violación), ! C (punto de corte precedencia en efecto), o ! <num> (ICMP código inalcanzable <num>). Si casi todos los sondeos dan como resultado una especie de inalcanzable, traceroute se dará por vencido y salir.
No queremos que el host de destino para procesar los paquetes de sondeo UDP, por lo que el puerto de destino se establece en un valor improbable (se puede cambiar con elp- flag). No hay tal problema de ICMP o tracerouting TCP (TCP usamos entreabierta técnica, que impide nuestras sondas para ser vistos por las aplicaciones en el host de destino).
En el entorno de red moderna de los métodos traceroute tradicionales no pueden ser siempre el caso, debido a la amplia utilización de los cortafuegos. Estos firewalls filtran los puertos UDP «poco probable», o incluso ecos ICMP. Para solucionar esto, algunos métodos tracerouting adicionales son implementados (incluyendo tcp), véase LISTA DE MÉTODOS DISPONIBLES abajo. Estos métodos tratan de usar determinado protocolo y de origen / puerto de destino, con el fin de eludir los cortafuegos (para ser visto por los firewalls sólo como un comienzo de permitido tipo de una sesión de red).
Opciones
- – HelpImprimir información de ayuda y salir.
-4 , -6
Explícitamente forzar IPv4 o IPv6 traceouting. Por defecto, el programa tratará de resolver el nombre de pila, y elegir el protocolo adecuado de forma automática. Si la resolución de un nombre de host devuelve tanto IPv4 como direcciones IPv6, traceroute utilizará IPv4.
-Me
Utilice ICMP ECHO para sondas
-T
Utilice TCP SYN para sondas
-D
Habilitar la depuración de nivel de socket (cuando el kernel Linux lo soporta)
-F
No fragmentar paquetes de sondeo. (Para IPv4 también establece DF bits, que dice los routers intermedios no fragmentar de forma remota, así).
- Variando el tamaño del paquete de sondeo por el packet_len parámetro de línea de comandos, puede obtener manualmente la información sobre la MTU de saltos de red individuales. El – mtu opción (ver más abajo) intenta hacer esto de forma automática.Tenga en cuenta, que las características no fragmentadas (como -F o – mtu ) funcionan correctamente ya que el núcleo Linux 2.6.22 solamente. Antes de esa versión, IPv6 fue siempre fragmentado, IPv4 podría utilizar la vez la MTU definitiva descubierto solamente (desde el caché de ruta), que puede ser menos que la MTU real de un dispositivo.
- -F first_ttl
- Especifica con qué TTL para iniciar. El valor predeterminado es 1.
- -G de puerta de enlace
- Le dice a traceroute para agregar una opción de enrutamiento de origen IP al paquete de salida que indica a la red para encaminar el paquete a través de la especificadala puerta de enlace (la mayoría de los routers tienen el enrutamiento de origen desactivado por motivos de seguridad). En general, varios gateway ‘s está permitido (separadas por comas). Para IPv6, la forma de número , dir , dir … está permitido, donde num es un tipo de cabecera de ruta (por defecto es de tipo 2). Tenga en cuenta el tipo de cabecera 0 ruta ahora es obsoleto (rfc5095).
- -I interfaz
- Especifica la interfaz por la que traceroute debe enviar los paquetes. Por defecto, la interfaz se selecciona de acuerdo con la tabla de enrutamiento.
- -M max_ttl
- Especifica el número máximo de saltos (valor max-time-to-live) traceroute probará. El valor predeterminado es 30.
- -N squeries
- Especifica el número de paquetes de sondeo enviadas simultáneamente. El envío de varias sondas al mismo tiempo puede acelerar traceroute considerablemente. El valor por defecto es 16.
Tenga en cuenta que algunos routers y hosts pueden utilizar la regulación de la tasa de ICMP. En tal situación, especificando número demasiado grande puede conducir a la pérdida de algunas de las respuestas. - -NNo trate de asignar direcciones IP a nombres de host al mostrarlos.
- -P puerto
- Para UDP trazado, especifica la base de puerto de destino traceroute utilizará (el número de puerto de destino se incrementa en cada sonda).
Para ICMP trazado, especifica el valor inicial de secuencia ICMP (se incrementa en cada sonda también).
Para TCP especifica sólo el (constante ) puerto de destino para conectarse. - -T TOSPara IPv4, establezca el tipo de servicio (TOS) y el valor de precedencia. Los valores útiles son 16 (bajo retardo) y 8 (de alto rendimiento). Tenga en cuenta que para poder utilizar algunos valores precedencia TOS, usted tiene que ser súper usuario.
- Para IPv6, establezca el valor de Control de Tráfico.
- -W waittime
- Ajuste el tiempo (en segundos) para esperar una respuesta a una sonda (por defecto 5.0 seg).
- -q nqueries
- Establece el número de paquetes de sondeo por salto. El valor predeterminado es 3.
- -ROmitir las tablas de enrutamiento normales y enviar directamente a un host en una red conectada. Si el sistema principal no está en una red conectada directamente-, se devuelve un error. Esta opción se puede utilizar para hacer ping a un host local a través de una interfaz que no tiene ninguna ruta a través de él.
- -S SOURCE_ADDR
- Escoge una dirección de origen alternativo. Tenga en cuenta que debe seleccionar la dirección de una de las interfaces. Por defecto, se utiliza la dirección de la interfaz de salida.
- -Z SendWait
- Intervalo de tiempo mínimo entre las sondas (por defecto 0). Si el valor es más de 10, a continuación, se especifica un número en milisegundos, de lo que es un número de segundos (valores de punto flotante permite también). Es útil cuando algunos routers utilizan tasa Plazo de mensajes ICMP.
- -EMostrar extensiones ICMP (rfc4884). La forma general es CLASE / TIPO : seguido de un volcado hexadecimal. Los MPLS (rfc4950) se muestra analizada, en un formulario:MPLS: L = etiqueta , E = exp_use , S = stack_bottom , T = TTL (más objetos separados por / ).
-Un
Realizar búsquedas de AS path en los registros de enrutamiento y los resultados de impresión directamente después de las direcciones correspondientes.
-V
Imprimir la versión y sale.
- Hay un par de opciones adicionales, destinado a un uso avanzado (otros métodos de rastreo, etc):
- – Sport = puerto
- Permite seleccionar el puerto de origen de su uso. Implica -N 1 . Normalmente los puertos de origen (si procede) se eligen por el sistema.
- -M método
- Utilice el método específico para las operaciones de traceroute. Por defecto el método tradicional ha udp nombre predeterminado , icmp ( -I ) y tcp ( -T ) tienen nombresICMP y TCP respectivamente.
Opciones Método específicos se pueden pasar por -O . La mayoría de los métodos tienen sus atajos simples, ( -I significa -M icmp , etc). - -O la opción
- Especifica alguna opción específica del método. Varias opciones se separan por comas (o utilizan varios -O en cmdline). Cada método tiene sus propias opciones específicas, o muchos de ellos no tienen en absoluto. Para imprimir la información sobre las opciones disponibles, el uso -o ayuda .
- -UUse UDP para particular, puerto de destino para tracerouting (en lugar de aumentar el puerto por cada sonda). El puerto por defecto es 53 (dns).
-UL
Utilice UDPLITE para tracerouting (puerto por defecto es 53).
- -P protocolo
- Utilizar paquetes de crudo especificado protocolo para tracerouting. Protocolo por defecto es 253 (RFC3692).
- – MtuDescubra MTU lo largo de la ruta se realiza un seguimiento. Implica -F-N 1 . Nueva mtu se imprime una vez en la forma de F = NUM en la primera sonda de un salto que exige que dichos mtu a alcanzar. (En realidad, la correspondiente «frag necesario» mensaje ICMP normalmente es enviado por el salto anterior).
- Tenga en cuenta, que algunos routers pueden almacenar en caché una vez que la información se ve en una fragmentación. Por lo tanto usted puede recibir el mtu final a partir de un salto de cerca. Trate de especificar una inusual tos por -t , esto puede ayudar a un intento (entonces se puede almacenar en caché allí también).
Ver -F opción para más información. - – VolverImprimir el número de saltos hacia atrás cuando parece diferente con la dirección de avance. Este número se adivina en el supuesto de que el lúpulo remotas envían paquetes de respuesta con el sistema TTL inicial ya sea 64 o 128 o 255 (que parece una práctica común). Se imprime como un valor negate en una forma de ‘NUM.
Lista de los métodos disponibles
En general, un método traceroute particular puede tener que ser elegido por el nombre-M , pero la mayoría de los métodos tienen sus interruptores de la línea de órdenes sencillas (puedes verlos después del nombre del método, si está presente).
defecto
- El método tradicional, antiguo de tracerouting. Se utiliza de forma predeterminada.Los paquetes de sondeo son datagramas UDP con los llamados puertos de destino «poco probable». El puerto «poco probable» de la primera sonda es 33434, entonces para cada lado de la sonda que se incrementa en uno. Dado que se espera que los puertos estén sin usar, el host de destino normalmente regrese «puerto inalcanzable ICMP» como una respuesta final. (Nadie sabe lo que sucede cuando alguna aplicación a la escucha de dichos puertos, sin embargo).
Se permite que este método para los usuarios sin privilegios.
icmp-I
- La mayoría método habitual, por ahora, que utiliza paquetes de eco ICMP para sondas.
Si puede hacer ping (8) el host de destino, tracerouting icmp es aplicable también.
tcp-T
- Método moderno muy conocido, la intención de eludir los cortafuegos.
Utiliza el puerto de destino constante (por defecto es 80, http).Si algunos filtros están presentes en la ruta de la red, lo más probable es ningún puerto «poco probable» UDP (como, por defecto el método) o incluso ecos ICMP (como poricmp ) se filtran, y todo tracerouting se acaba de parar en un servidor de seguridad tales. Para omitir un filtro de red, tenemos que usar combinaciones de protocolo / puerto sólo permitidos. Si rastreamos para algunos, por ejemplo, servidor de correo, entonces es más probable -T-p 25 puede llegar a él, incluso cuando -yo no puedo.Este método utiliza la conocida «técnica de medio abierto», lo que evita que las aplicaciones en el host de destino de ver nuestras sondas en absoluto. Normalmente, se envía un TCP SYN. Por puertos no escuchado que recibimos reinicio tcp, y todo está hecho. Para los puertos de escucha activa que recibimos tcp syn + ack, pero respondemos por restablecimiento de TCP (en lugar de TCP ACK esperado), de esta manera la sesión TCP remoto se cae, incluso sin la aplicación cada vez tomando nota.
Hay un par de opciones para tcp método:
- syn, ack, aleta, rst, PSH, URG, ece, cwr
- Sets especifican indicadores TCP para el paquete de la sonda, en cualquier combinación.
- flags = num
- Establece el campo de banderas en la cabecera TCP exactamente con num .
- ECNEnviar paquete SYN con banderas tcp ECE y CWR (por notificación explícita de congestión, RFC3168)
- saco, marcas de tiempo, window_scaling
- Use la opción de encabezado TCP correspondiente del paquete de prueba saliente.
- sysctlUsar sysctl actual ( / proc / sys / net / * ) ajuste de las opciones de la cabecera tcp anteriores y ECN . Siempre ajuste por defecto, si no otra cosa especifica.
- mss = num
- Utilice el valor de num para la opción de cabecera tcp maxseg (cuando syn ).
- Las opciones por defecto se SYN, sysctl .
tcpconn
- Una aplicación inicial del método tcp, simple usando la conexión (2) llamada, que hace apertura de la sesión TCP completa. No se recomienda para un uso normal, debido a que una aplicación de destino siempre se ve afectada (y puede ser confundido).
udp-U
- Utilice datagramas UDP con el puerto de destino constante (por defecto 53, dns).
Destinado para evitar el cortafuegos también.Tenga en cuenta, que a diferencia de tcp método, la aplicación correspondiente en el host de destino siempre recibir nuestras sondas (con datos aleatorios), y la mayoría se puede confundir fácilmente por ellos. La mayoría de los casos no responden a nuestros paquetes, sin embargo, así que nunca verán el salto definitivo en la traza.(Afortunadamente, parece que, al menos, los servidores DNS responde con algo enojado).Se permite que este método para los usuarios sin privilegios.
udplite-UL
- Utilice datagrama udplite para sondas (con puerto de destino constante, por defecto 53).Se permite que este método para los usuarios sin privilegios.
Opciones: - cobertura = num
- Establece udplite enviar la cobertura a num .
prima-P proto
- Enviar paquetes en bruto de protocolo proto .
. No se usan encabezados específicos del protocolo, sólo la cabecera IP sólo
Implica -N 1 .
Opciones: - protocolo = proto
- Utilice el protocolo IP proto (por defecto 253).
Notas
Para acelerar el trabajo, normalmente varias sondas se envían simultáneamente. Por otro lado, se crea una «tormenta de paquetes», especialmente en la dirección de respuesta.Los routers pueden limitar la velocidad de las respuestas ICMP, y algunas de las respuestas se pueden perder. Para evitar esto, disminuir el número de sondas simultáneas, o incluso lo ponen a 1 (como en la implementación inicial traceroute), es decir, -N 1
El (meta) huésped final puede caer algunas de las sondas simultáneas, e incluso podría responder sólo a las más recientes. Puede conducir a la extra «parece caducados» saltos cerca del salto final. Utilizamos un algoritmo inteligente para detectar automáticamente una situación de este tipo, pero si no puede ayudarle en su caso, sólo tiene que utilizar -N 1 también.
Para una mayor estabilidad puede reducir la velocidad de trabajo del programa por -z opción, por ejemplo el uso -z 0.5 de pausa de medio segundo entre las sondas.
Si algunos saltos informan nada por todos los medios, la última oportunidad para obtener algo es usar ping-R comando (IPv4, y sólo para 8 saltos más cercanos).