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

时间:2010-03-04 07:08:24

标签: c# .net windows

现在我的团队使用Windows应用程序c#。

在网络项目中工作

如何扫描网络上存在的无线设备。功能与您在Windows操作系统中的现有Windows实用程序中看到的完全相同。我确定您在插入无线笔记本电脑卡时遇到了问题,它会显示一个窗口,显示它检测到的所有连接点。 如何捕获下面列出的信息

  • MAC地址
  • IP地址
  • SSID
  • 频道
  • 时间戳
  • 密码类型
  • 加密级别
  • 信号强度

我使用的是Kismet还是NetStumbler。 请建议好的图书馆/代码

4 个答案:

答案 0 :(得分:20)

您可以使用Managed Wifi API。它只是Native Wifi Api的包装器,适用于Windows XP及更高版本。

此代码应显示可用的网络:

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 );
}

答案 1 :(得分:7)

如果您准备投资,那么您可以使用WiFi-Manager / Advanced WiFi-Manager

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

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

高级WiFi-Manager是下一代工具,它支持WiFi-Manager所具有的所有功能,但也可以使用NDIS管理WiFi适配器,适用于Windows 2000/2003 / XP / Vista / Windows7,并且不依赖于服务安装了包或修补程序!

我希望这很有用

答案 2 :(得分:1)

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

只需深入了解natice WiFi即可获得所有信息。 我想你得到了你想要的答案

答案 3 :(得分:0)