Al tener una dirección IP pública arbitraria, ¿hay alguna manera de determinar la subred a la que pertenece sin conocer la máscara de red?
Respuesta1
La respuesta corta es no.
Lo mejor que puedes hacer es hacer conjeturas fundamentadas: el nivel de conocimiento depende de lo desesperado que estés y de los recursos que tengas a tu disposición.
Las fuentes para informar la suposición incluirían (pero probablemente no se limiten a)
- Pistas de la dirección IP: al menos en Nueva Zelanda, históricamente las direcciones se dividían en rangos de tamaño (la más pequeña era una "Clase C" de 256).
- Lo que le dicen las tablas de enrutamiento BGP.
- Según la publicación de @Zina: cómo responden la puerta de enlace y el host. Hay trampas aquí y, en el mejor de los casos, no es confiable. Las suposiciones sobre el siguiente salto no siempre son válidas, aunque puede mejorar esto si puede tomar huellas digitales de los dispositivos y ver si el mismo enrutador responde en múltiples direcciones e inferir subredes a partir de eso.
- Tomando sugerencias de los servicios disponibles desde los dispositivos detrás del enrutador en la misma subred (nuevamente, muy poco confiable, pero, por ejemplo, un servicio en la nube puede tener múltiples instancias del mismo servidor web configuradas de la misma manera, y sus vecinos) que podrían pertenecer a otros inquilinos tendrían configuraciones diferentes.
- El último octeto también te dice algo. Es más probable que ciertos valores actúen de manera "diferente" a las direcciones normales (de transmisión y de red) y esto también podría ayudar a inferirlo.
Respuesta2
Es posible que puedas encontrarlo con traceroute. Encuentre su puerta de enlace pública con traceroute www.google.com
. Ahora simplemente trace la ruta de la IP anterior/siguiente a partir del DG público. Cuando empieces a ver un salto adicional que te mostrará el límite. P.ej. mi IP es xy96.112 y mi enrutador muestra que el DG es 96.1. y veo lo mismo con la verificación de Google de traceroute, IP del enrutador local del primer salto, IP de la puerta de enlace pública del siguiente salto. Entonces sé que es al menos una red /25 (Primera IP -> 1 - mi IP pública -> 112 - es decir, al menos una red con 126 hosts). Con traceroute veo un salto adicional en xy95.254 (por lo que el DG en 96.1 es la primera IP en la red) y un salto adicional con xy98.1, por lo que supongo que es una red /22. Por supuesto, esto sólo funciona si recibe una respuesta con la dirección IP de los saltos.