【问题标题】:how to scan wireless network and display the list of all computers and devices connected如何扫描无线网络并显示所有连接的计算机和设备的列表
【发布时间】:2012-02-08 16:24:32
【问题描述】:

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

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

【问题讨论】:

    标签: c++ winapi networking connection wireless


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 那么该工具是如何实现的呢?它列出了连接到我连接的同一网络的所有设备。我目前唯一的猜测是嗅探所有网络数据包(因为它是路由器而不是智能交换机)并从数据包中读取有关发起连接的设备的信息(ip、ma​​c、设备名称等)。
      • 什么工具?我只提到了自己进行发现的方法(这是你要求的)。
      • 它可能使用了我建议或类似的方法之一。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 2013-07-30
      相关资源
      最近更新 更多