2013-03-19 99 views
0

如何获得使用WINAPI连接到局域网的所有本地IP地址列表?我通过netapi32.dll搜索,并没有成功。有什么想法吗 ?使用winapi获取本地IP地址列表

+2

你指的是当前机器的多个IP地址,或LAN /域中所有机器的IP地址? – Ajay 2013-03-19 19:30:16

+0

LAN中所有机器的IP地址。 – 2013-03-19 20:15:14

+2

当您获得机器的IP和网络掩码时,可以计算其他机器的地址。 – Mayhem 2013-03-19 21:03:38

回答

1

无法获得连接到本地网段的所有设备的地址。计算机可能受到防火墙和丢弃请求,或者IP地址位于检查计算机未配置的不同子网中。

通过向本地子网上的每个IP地址发送ping请求(使用IP Helper库中的ICMPSendEcho())并检查响应,您可以在子网上找到响应ping的所有设备。

+0

IIRC,你可以执行广播ICMP ping? – 2013-03-20 12:12:46

+0

@MartinJames技术上是的,但我不认为windows本身支持它。它可能需要原始套接字并手动创建ICMP数据包。 – Deanna 2013-03-20 12:34:51