现在我的团队使用Windows应用程序c#。
在网络项目中工作如何扫描网络上存在的无线设备。功能与您在Windows操作系统中的现有Windows实用程序中看到的完全相同。我确定您在插入无线笔记本电脑卡时遇到了问题,它会显示一个窗口,显示它检测到的所有连接点。 如何捕获下面列出的信息
我使用的是Kismet还是NetStumbler。 请建议好的图书馆/代码
答案 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)