原文:http://www.zhihu.com/question/33559283
如何用mt7620方案的rt2860v2驱动实现wifi探针功能,网上能搜到一些方法,但是讲的好模糊?
如何用mt7620方案的rt2860v2驱动,实现wifi探针功能,网上能搜到一些方法,但是讲的好模糊,真心看不懂,求懂的或者做过的大侠细讲一下,贴出源码,或者邮件我devinsh@163.com,万分感谢!
添加评论
分享
3赞同
反对,不会显示你的姓名
王祥凯
,努力做一个极客
逆风笑、Soulkey、Noel Lo 赞同
wifi探针,要获取station发送的probe request帧和信号强度么?如果是的话:
完成这个要考虑两件事情,一是如何获取到,二是如何传递给处理程序
1.获取
rt2860v2的源码你有的,找到对应的处理probe request帧的函数APPeerProbeReqAction,再里面取对应的变量就可以了
+ PFRAME_802_11 pFramelxd = (PFRAME_802_11)Elem->Msg;
+ //printk(KERN_INFO "mac is %pM, signal is %d\n", pFramelxd->Hdr.Addr2, Elem->Signal);
但是要注意一点,如果这样取Signal,值是0。因为这版驱动强制给Signal赋值为0,这个需要你看下代码改下。如果你不需要获取信号强度,那就不用管了。
2.传递
数据传递给用户空间的应用程序,可以通过netlink或者/proc,具体自己google搞定就可以了
周devin
(提问者)
非常感谢您的回答,已经做出来了。再次感谢~
2015-09-06
yang shaokun
回复 周devin(提问者)
但是不能获取到苹果手机的mac地址?
2015-10-09
yang shaokun
回复 周devin(提问者)
但是不能获取到苹果手机的mac地址?
2015-10-09 回复 赞
举报
王祥凯
(作者) 回复 yang shaokun
iOS貌似从8开始就对probe request 帧的源mac地址使用随机mac地址了(反正不用真的),但是部分情况下还是会发送真实的mac地址。
升级到9后,mac随机化更严格了,貌似任何情况下发出的probe request 帧都使用随机mac地址。
因此就无法获取到真实的mac地址了:<
2015-11-23
yang shaokun
回复 王祥凯(作者)
这个是的,我目前在测试中也发现这个问题了
2015-11-24 回复 赞
举报
yang shaokun
回复 王祥凯(作者)
在数据交互阶段是真实的地址
2015-11-24
转载于:https://www.cnblogs.com/nightnine/p/5090751.html
相关资源:基于mt7620 openwrt平台的wifi rt2860驱动