Cómo verificar el nombre de host obtenido mediante la resolución IP es el correcto
Soy muy nuevo en la programación de la red y tal vez estoy haciendo una pregunta muy básica.
Estoy trabajando en una base de código C++ donde las ventanas 'getnameinfo ' API se utiliza para obtener el nombre de host desde la dirección IP dada. El nombre de host obtenido es incorrecto y pertenece a un VM diferente en el dominio.
Digamos que hay VM con el nombre de host 'VM1' con IP 10.44.176.57 y otro VM con el nombre de host 'VM2' y IP 10.44.176.24.
Cuando IP 10.44.176.57 se pasa al getnameinfo() API, lo resuelve al nombre de host VM2. El comando ping también devuelve los mismos resultados.
Al ping hostname VM1 y VM2 ambos resuelven sus direcciones IP correctas.
He comprobado en DNS manager, los IPs de VM se asignan correctamente. Mi pregunta es: 1) ¿Por qué getnameinfo API está devolviendo el nombre de host equivocado? 2) ¿Hay alguna manera de verificar el nombre de host resuelto es el correcto?
Pregunta hecha hace 3 años, 5 meses, 0 días - Por codecrusaderx
2 Respuestas:
-
Parece que estás experimentando un problema de resolución de nombres de host incorrecta en tu código. Aquí hay algunas sugerencias para abordar este problema:
1) Verificar el archivo hosts:
- Verifica si el archivo de hosts en tu sistema operativo tiene una entrada que puede estar causando la resolución incorrecta del nombre de host.
- El archivo hosts se encuentra en la ruta: C:\Windows\System32\drivers\etc\hosts en Windows y /etc/hosts en sistemas basados en Unix.
- Asegúrate de que la configuración de DNS en tu red esté correctamente configurada y que las entradas de los nombres de host y direcciones IP coincidan adecuadamente.
- Puedes utilizar herramientas de línea de comandos como nslookup (en Windows) o dig (en sistemas basados en Unix) para realizar una consulta de resolución de nombres y verificar si el nombre de host devuelto es el correcto.
- Por ejemplo, ejecutar "nslookup 10.44.176.57" o "dig -x 10.44.176.57" te mostrará qué nombre de host se resuelve para esa dirección IP.
- Asegúrate de que la configuración de red de los servidores de VM esté configurada correctamente, con el nombre de host correspondiente a la dirección IP asignada.
- Puedes depurar tu código que utiliza la API getnameinfo para asegurarte de que esté pasando la dirección IP correcta y maneje adecuadamente la resolución del nombre de host.
Respondida el Dec 18, 2020 a las 10:03 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
1. ¿Por qué getnameinfo API está devolviendo el nombre de host equivocado?
Es posible que la API
getnameinfo
esté devolviendo el nombre de host incorrecto debido a un problema con la configuración de DNS o la caché DNS. Cuando se resuelve una dirección IP a un nombre de host, el sistema operativo normalmente consulta un servidor DNS para obtener la información de mapeo. Si el servidor DNS no está configurado correctamente o si la caché DNS está desactualizada, puede proporcionar información incorrecta.2. ¿Hay alguna manera de verificar el nombre de host resuelto es el correcto?
Sí, hay varias formas de verificar si el nombre de host resuelto es correcto:
Utiliza el comando
ping
: El comandoping
se puede usar para verificar la asignación de nombre de host a dirección IP. Si el comandoping
devuelve la dirección IP correcta para el nombre de host, entonces la resolución es correcta.Comprueba la caché DNS: Puedes comprobar la caché DNS utilizando el comando
nslookup
. Este comando mostrará los registros DNS que están almacenados en la caché. Si la caché DNS contiene una entrada incorrecta para el nombre de host, puedes borrar la caché y volver a consultar el servidor DNS.Utiliza un servicio de resolución de DNS externo: Hay varios servicios de resolución de DNS disponibles en línea que puedes utilizar para verificar la asignación de nombre de host a dirección IP. Por ejemplo, puedes utilizar el servicio de resolución de DNS de Google ingresando la dirección IP o el nombre de host en el siguiente sitio web: https://www.google.com/search?q=dns+lookup
Pasos adicionales que puedes probar:
Asegúrate de que el servidor DNS que estás utilizando esté configurado correctamente. Borra la caché DNS utilizando el comando
ipconfig /flushdns
(Windows) osudo dscacheutil -flushcache
(macOS/Linux). Reinicia el adaptador de red o el equipo. * Consulta con tu administrador de red para verificar si hay algún problema de configuración de DNS que pueda estar causando el problema.Respondida el Dec 18, 2020 a las 10:09 - por Gemini
Votos positivos: 0 | Votos negativos: 0