gpt4 book ai didi

c - 如何获取远程计算机的本地网络IP地址

转载 作者:太空狗 更新时间:2023-10-29 15:39:05 27 4
gpt4 key购买 nike

远程计算机有两个地址:LANVPN

我尝试通过以下代码获取LAN IP 地址:

hostent *host = gethostbyname(hostname);
if (host) strcpy(ip, inet_ntoa(*((struct in_addr *)host->h_addr)));

因此,有时它会返回 LAN,但有时会返回 VPN。我知道 h_addr_list 字段中有很多地址,但是我怎么知道哪个地址是本地地址呢?

我尝试使用 GetAdaptersInfo(),它有确定本地 ip 与否的字段,但只返回我计算机的 ip 地址。我不知道如何获取远程计算机的 ip。

请大家给我一些建议!

最佳答案

根据您的问题,您声明您可以获取计算机的局域网 IP 并获取远程计算机的 IP,无论是局域网还是 VPN。要确定远程计算机上的哪个 IP 在您的局域网上,您可以使用子网测试,我当然假设您的 VPN 在不同的子网上,并且您基本上可以测试计算机 IP 的前 2-3 个八位字节是否匹配远程 ip 的 2-3 个八位字节。这是我能想到的唯一方法。

因此,按照您所说的方式遍历远程 IP,并根据您计算机的八位字节的本地 IP 地址检查它们。

关于c - 如何获取远程计算机的本地网络IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13281974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com