如何扫描networking上存在的无线设备

现在我的团队在使用Windows应用程序c#的networking项目中工作。

如何扫描networking上存在的无线设备。function与您在Windows操作系统中的现有Windows实用程序中看到的function完全相同。 我确信你在插入无线笔记本电脑卡时有经验,它会打开一个窗口,显示它检测到连接的所有接入点。 如何捕获下面列出的这些信息

  • MAC地址
  • IP地址
  • SSID
  • 渠道
  • 时间戳
  • 密码types
  • encryption级别
  • 信号强度

我用过Kismet或NetStumbler吗? 请build议好的图书馆/代码

Solutions Collecting From Web of "如何扫描networking上存在的无线设备"

如果你准备投资钱,那么你可以使用WiFi-Manager / 高级WiFi-Manager

WiFi-Manager是一款开发工具,允许您使用一组API函数来管理Windows XP SP2和Windows Vista中的WiFi连接和设置,尽管这些版本的Windows使用完全不同的API来进行无线网络管理。 此外,WiFi管理器为所有API函数提供了一个COM接口,所以你可以简单地从VB或VB.NET或C#等.NET语言控制WiFi设置。

WiFi-Manager包含用于枚举WiFi适配器,枚举可用网络并获取其设置的功能,用于连接和断开网络的功能,用于处理无线网络配置文件的功能等。

先进的WiFi-Manager是下一代工具,它支持WiFi-Manager的所有功能,但也可以使用NDIS来管理WiFi适配器,并在Windows 2000/2003 / XP / Vista / Windows7中运行,并且不依赖于Service Pack或修补程序安装!

我希望这是有用的

您可以使用托管的Wifi API 。 它只是一个包装,用于Windows XP和更高版本的Native Wifi API。

这段代码应该显示可用的网络:

WlanClient client = new WlanClient(); foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces ) { // Lists all available networks Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 ); foreach ( Wlan.WlanAvailableNetwork network in networks ) { Console.WriteLine( "Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid)); } } static string GetStringForSSID(Wlan.Dot11Ssid ssid) { return Encoding.ASCII.GetString( ssid.SSID, 0, (int) ssid.SSIDLength ); } 

你应该使用****本地WiFi API ****,因为那里有你需要使用的功能首先使用openhandler()getEnuminterface()在这里你将获得你的WiFi硬件的GUID wlanscann()
wlangetavailablenetworklist()在这里作为输出,你会得到一个结构,你可以找到所有上述信息。 是closeHandler()

只要深入natice WiFi你会得到所有的信息。 我想你得到了你想要的答案

您可以从这个“ 如何以编程方式检测Wi-Fi路由器和信号强度?