C++ 如何验证通过解析IP获得的主机名是否正确

C++ 如何验证通过解析IP获得的主机名是否正确,c++,windows,sockets,networking,winsock,C++,Windows,Sockets,Networking,Winsock,我对网络编程非常陌生,也许我在问一个非常基本的问题 我正在研究一个遗留的C++代码库,其中Windows的GETNAMEINFILE API用来从给定的IP地址获得主机名。获取的主机名错误,它属于域中的其他VM 比如说,有一个主机名为“VM1”的虚拟机,IP为10.44.176.57和 另一个主机名为“VM2”且IP为10.44.176.24的虚拟机 当IP 10.44.176.57被传递给getnameinfo()API时,它将其解析为主机名VM2。 ping命令还返回相同的结果 当我ping

我对网络编程非常陌生,也许我在问一个非常基本的问题

我正在研究一个遗留的C++代码库,其中Windows的GETNAMEINFILE API用来从给定的IP地址获得主机名。获取的主机名错误,它属于域中的其他VM

比如说,有一个主机名为“VM1”的虚拟机,IP为10.44.176.57和 另一个主机名为“VM2”且IP为10.44.176.24的虚拟机

当IP 10.44.176.57被传递给getnameinfo()API时,它将其解析为主机名VM2。 ping命令还返回相同的结果

当我ping主机名VM1和VM2时,它们都解析为各自正确的IP地址

我在DNS管理器中进行了检查,虚拟机的IP已正确分配。 我的问题是,, 1) 为什么getnameinfo API返回错误的主机名?
2) 有没有办法验证解析的主机名是否正确?

这些IP地址是通过DHCP分配的?或者在VM本身上手动设置。我的猜测是,在这些不同的虚拟机之间有相当数量的主机名和IP地址循环使用。>为什么getnameinfo API返回错误的主机名?本质上是因为这是运行代码的VM在该IP上看到的主机名。您使用的是哪种虚拟机软件?什么是主机操作系统?什么是来宾操作系统?该VM的VM来宾/主机网络配置是什么?您是否能够提供一种简单的方法来重现您的问题?一段代码和复制步骤,也许?>有没有办法验证解析的主机名是否正确?在同一个VM上使用shell ping解析的主机名。这些IP地址是通过DHCP分配的吗?或者在VM本身上手动设置。我的猜测是,在这些不同的虚拟机之间有相当数量的主机名和IP地址循环使用。>为什么getnameinfo API返回错误的主机名?本质上是因为这是运行代码的VM在该IP上看到的主机名。您使用的是哪种虚拟机软件?什么是主机操作系统?什么是来宾操作系统?该VM的VM来宾/主机网络配置是什么?您是否能够提供一种简单的方法来重现您的问题?一段代码和复制步骤,也许?>有没有办法验证解析的主机名是否正确?在同一个VM上使用shell ping解析的主机名。