native wifi mac rssi
2014-05-01 10:41
691 查看
最近一直在整无线网络的项目,
首先就要取出周围无线AP的mac和rssi,
在win7 和 vista上,这是很简单的事,
但要考虑到xp,还要做到统一,就有点难度了。
这里,我就我所知总结一下,
希望对需要的人有所帮助,
如有不对,欢迎探讨。
在xp上,可以通过调用DeviceIoControl()函数取得周围无线AP的mac和rssi,
先调用DeviceIoControl( ..., IOCTL_NDIS_QUERY_GLOBAL_STATS,
OID_802_11_BSSID_LIST_SCAN,....)进行扫描
再调用DeviceIoControl( ..., IOCTL_NDIS_QUERY_GLOBAL_STATS,
OID_802_11_BSSID_LIST,....)进行获取即可。
但由于这套机制以后渐渐被废除,msdn上建议用wmi机制完成。
xp sp2以后,windows提供了native wifi api,使对无线网卡的操作变得简单而又复杂,
首先就获取周边无线ap的信息来说,有两个函数
WlanGetAvailableNetworkList()和WlanGetNetworkBssList(),
xp sp2, vista, win7都支持WlanGetAvailableNetworkList(),
但该函数既不能获得周边ap的mac地址,也不能获取rssi,
只能得到ssid,和信号质量,信号质量可以通过线性插值转换为rssi,
具体用法可以参考
http://msdn.microsoft.com/en-us/library/ms706749(VS.85).aspx。
相比而言,WlanGetNetworkBssList()就强大了许多,
轻易就可以获取周边ap的mac和rssi,但好像不能获得加密信息,
看似问题很容易就解决,
可该函数只在vista以后的平台提供,
在xp下不提供。
这里我只是提供了总结,具体的api还是去msdn上查询比较透彻!
首先就要取出周围无线AP的mac和rssi,
在win7 和 vista上,这是很简单的事,
但要考虑到xp,还要做到统一,就有点难度了。
这里,我就我所知总结一下,
希望对需要的人有所帮助,
如有不对,欢迎探讨。
在xp上,可以通过调用DeviceIoControl()函数取得周围无线AP的mac和rssi,
先调用DeviceIoControl( ..., IOCTL_NDIS_QUERY_GLOBAL_STATS,
OID_802_11_BSSID_LIST_SCAN,....)进行扫描
再调用DeviceIoControl( ..., IOCTL_NDIS_QUERY_GLOBAL_STATS,
OID_802_11_BSSID_LIST,....)进行获取即可。
但由于这套机制以后渐渐被废除,msdn上建议用wmi机制完成。
xp sp2以后,windows提供了native wifi api,使对无线网卡的操作变得简单而又复杂,
首先就获取周边无线ap的信息来说,有两个函数
WlanGetAvailableNetworkList()和WlanGetNetworkBssList(),
xp sp2, vista, win7都支持WlanGetAvailableNetworkList(),
但该函数既不能获得周边ap的mac地址,也不能获取rssi,
只能得到ssid,和信号质量,信号质量可以通过线性插值转换为rssi,
具体用法可以参考
http://msdn.microsoft.com/en-us/library/ms706749(VS.85).aspx。
相比而言,WlanGetNetworkBssList()就强大了许多,
轻易就可以获取周边ap的mac和rssi,但好像不能获得加密信息,
看似问题很容易就解决,
可该函数只在vista以后的平台提供,
在xp下不提供。
这里我只是提供了总结,具体的api还是去msdn上查询比较透彻!
相关文章推荐
- vista win7 wlan native wifi rssi
- WiFi Explorer for Mac(WiFi无线网络管理工具)附注册机 v2.3.3破解版
- React Native--01 Mac下React Native 环境的配置
- Mac OS X 用终端破解附近 Wifi 密码教程
- React Native简介与MAC平台下环境搭建
- MAC wifi连接手机调试
- Mac OS X 用终端破解附近 Wifi 密码教程
- android设备获取当前wifi下的路由器的mac和路由器的名称
- Mac 查找已连接的WiFi密码
- Mac系统安装Aircrack-ng破解wifi密码(2)
- MAC ReactNative环境搭建
- react-native —— 在Mac上搭建React Native Android开发环境
- Mac React-Native环境搭建及使用
- ReactNative(热更新)介绍和搭建开发环境(MAC)
- How to change Intel WiFi Link 5100 AGN MAC addr(更改Intel WiFi Link 5100 AGN MAC地址)
- mac小知识之如何查看wifi密码
- Mac搭建 React Native 工具篇Atom+Nuclide
- Mac查看附近WiFi信道及路由器信道的选择
- facebook react native 开发-----win7,mac环境搭建实践
- React Native之环境搭建(Mac版)