如何扫描无线网络并显示所有连接的计算机和设备的列表

时间:2012-02-08 16:24:32

标签: c++ winapi networking connection wireless

我需要构建一个非常类似于“无线网络观察器”的工具(c ++),它是一个小型实用程序,可以扫描您的无线网络并显示当前连接到您的网络的所有计算机和设备的列表。 这是现有工具http://www.nirsoft.net/utils/wireless_network_watcher.html

我需要知道用于构建此类功能的win32 sdk函数是什么:扫描我连接的无线网络并显示连接到它的所有计算机和设备。

2 个答案:

答案 0 :(得分:1)

好吧,似乎是这样做的:首先向网络中的每个可能的IP地址发送一个ARP请求包(你根据网络掩码和接口ip计算它们),这一步你可以使用SendARP功能。然后,您必须为之前响应的每个IP调用getnameinfo,或者您可以发送NetBios请求数据包(端口137)以检索设备的名称(如果有),或者知道如何响应该请求。 对于某些网络,这可能需要一段时间(很长时间)。

答案 1 :(得分:0)

非常模糊的问题,一般来说,Windows,无线甚至网络都没有单一的“查找所有设备”功能。您需要扫描某些服务,如netbios(139),UPNP等。此外,这些都不是特定于无线连接的。