El comando Unix traceroute
rastrea las direcciones IP de los nodos desde un nodo de origen a un nodo de destino. Cada nodo intermedio tiene una interfaz entrante y una saliente.
Ejecutar traceroute -n dst
en src
mostrará las direcciones IP de src, dst y todas las interfaces entrantes de los saltos intermedios.
Pero, ¿cómo rastrear las direcciones IP de salida?
Actualizar
Intenté la ping -R
sugerencia pero no parece funcionar. Este es el traceroute a un servidor web público:
$ ping -n -c 1 -R 212.227.222.9 PING 212.227.222.9 (212.227.222.9) 56 (124) bytes de datos. 64 bytes desde 212.227.222.9: icmp_req = 1 ttl = 57 tiempo = 47.4 ms RR: 192.168.2.111 169.254.1.1 87.186.224.94 62.154.76.34 62.154.12.175 212.227.117.13 212.227.117.8 10.71.3.253 212.227.222.9 --- 212.227.222.9 estadísticas de ping --- 1 paquetes transmitidos, 1 recibido, 0% de pérdida de paquetes, tiempo 0 ms rtt min / avg / max / mdev = 47.441 / 47.441 / 47.441 / 0.000 ms
Y esta es la dirección IP de mi conexión de acceso telefónico.
$ curl -s https://toolbox.googleapps.com/apps/browserinfo/info/ | jq -r .remoteAddr 93.192.75.247
Pero no ha sido registrado por el comando ping. cual puede ser la razon?
ping
traceroute
ceving
fuente
fuente
curl ifconfig.me
. La cosa más simple en internet. Manos abajo.Respuestas:
No soy exactamente la respuesta a su pregunta, pero esa es una manera simple (pero limitada) de hacer (en ciertos casos) lo que quiere. Estoy haciendo frente a la opción -R de la página de comando man:
Entonces puede ver también la ruta de retorno de ECHO_REQUEST, que no es la interfaz de salida (sobre la que está preguntando) a menos que la ruta de salida sea la misma que la ruta de regreso. Solo en este caso, la ruta de retorno es la dirección IP de la interfaz de salida que está solicitando.
Ese es un ejemplo real en la red de mi proveedor de Internet, tal vez no sea tan claro, pero ahora no tengo un enrutador para vincular entre sí :)
fuente
-R
opción. El cuarto salto fue el primero, que respondió a la solicitud. Pero la respuesta no contiene mi dirección pública. Y aunque fue solo el cuarto salto, la respuesta contiene 9 direcciones.ping -R
será útil solo para salto muy limitado. Antes digo que es una forma restringidatraceroute 212.227.222.9
y luego haz unaping -R
hasta el tercer salto que encontraste en el trazado de ruta. De esa manera tienes el mismo esquema que hice para leer la respuesta. El total de las nueve rutas significa ir y volver, así que si lo haces,ping -R 212.227.222.9
no puedes ver el camino completo, pero solo la última parteDe acuerdo con RFC1812, la dirección de origen del mensaje ICMP generado por el enrutador debe ser la de la interfaz de salida a través de la cual el paquete normalmente volvería al remitente.
En realidad, es muy probable que enfrente un comportamiento no estándar donde el enrutador obtendrá la respuesta ICMP con la fuente de la interfaz de ingreso. Esto generalmente hace que el traceroute sea mucho más fácil de leer.
Como seguimiento a la pregunta de YLearn, estoy publicando un diagrama de red y algunas salidas.
Supongamos que estamos agriando el traceroute del loopback 5.5.5.5 de R5 al loopback 1.1.1.1 de R1. Como puede ver, la ruta de avance es a través de R4-R2, mientras que la ruta de retroceso es R3-R4.
La salida de traceroute de R5 tiene el siguiente aspecto:
Entonces, mientras el tráfico ICMP real generado por R1 vuelve a R5 a través de R3, el encabezado IP del mensaje ICMP inalcanzable tendrá la fuente de la interfaz de entrada 10.1.12.1.
En mi experiencia, así es como se comportan los enrutadores Cisco y Juniper, no estoy seguro acerca de otros proveedores.
fuente