WIFI 探针的使用说明

我使用的是四博智联提供的WIFI探针 DT-06产品


点击打开链接

1. 数据读取

可以直接通过串口即可读取数据,串口波特率设置为 115200,其它选项默认。

如果需要PC机测试,请使用杜邦线转接到USB-TTL设备上,然后安装相应驱动(附件中带了CP210X

下载链接:http://bbs.doit.am/forum.php?gid=83

运行即可等到如下图所示结果:

 

 

另外可以用支持OTG功能Android手机进行测试,附件“手机APP调试工具”有相应的工具。其中探针测试支持定义接口上传.apk支持将串口读到数据通过http远程传输。

 

探针数据默认格式:

A8:15:4D:5F:BD:36|00:08:22:29:11:4F|02|04|1|-94

其中:

第一列:08:00:23:6F:58:CE 代表手机MAC

第二列:12:F8:56:FF:6F:56 代表路由MAC

第三列:00 代表Frame的大类

第四列:08 代表Frame的小类

第五列:代表Channel

第六列: 信号强度,据此可算出大概的距离,距离公式联系QQ 114209716 购买。

通常情况下,只需要关注第一列即可,详细介绍请看”WiFi探针原理教程.pdf” (压缩包中)

输出本机MAC,见本文档AT指令9中详细介绍。有效范围,在空旷区域达到 50-100

 

 

 

AT指令:

1)控制读取的信号强度范围

AT+RSSI=信号强度\r\n

比如 AT+RSSI=-70\r\n

 

2)默认是全频道(1---13)扫描,可以通过AT指令固定在一个或多个频道上

AT+CHANNEL=1,3,5\r\n

 

 

3)控制串口输出波特率,默认是 115200,可以通过AT指令进行更改

AT+BAUD=9600\r\n

 

           

4) 设定信道采集周期(默认是250ms, 可以通过AT指令进行更改

AT+TIME=500\r\n,其中500代表每一个channel的采集时间,单位为毫秒

 

5)设定输出周期,可以通过

AT+PERIOD=4\r\n,设置输出周期,默认为4,单位为在每个channel时间。

 

代表每采集4channel,输出采集内容。

6) 查看固件版本

  AT+VERSION=?\r\n

 

7) 采集控制

AT+SEND=0\r\n,开始采集AT+SEND=1\r\n

 

当停止采集时,进入低功耗模式。

8)输出更多信息

开始AT+ALL=1\r\n 停止更多输出AT+ALL=0\r\n

包括路由名称或探测包的路由名称,和目前手机是否黑屏,此功能为高级功能,非专业分析不需要开启。

 

9)是否输出本机mac

开启AT+MAC=1\r\n 停止更多输出AT+MAC=0\r\n

 

10) 是否过滤苹果虚假mac,默认过滤

开启过滤AT+IOS=1\r\n 停止过滤AT+IOS=0\r\n

 

11) 是否统计从路由到手机的包

开启AT+AP=1\r\n 停止AT+AP=0\r\n

 

 

2. 数据分析

Doit探针固件已经内置分析系统,通过串口传出的数据为已经处理过的数据,处理算法默认是1秒内去重,第一行为手机等STA MAC地址,第二行为路由器地址,详细说明见附件 WiFi探针原理知识->WiFi探针原理教程.pdf.

 

   Mac地址手机厂商查询:http://mac.doit.am

       根据路由MAC定位:http://dingwei.doit.am/d.php?mac=BC:D1:77:55:17:FA

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WiFi探针基本代码是一种用来扫描周围的WiFi网络并获取相关信息的程序代码。下面是一段简单的基本代码示例: ``` import subprocess # 执行系统命令iwlist,扫描附近的WiFi网络 def scan_wifi(): wifi_list = [] try: output = subprocess.check_output(["iwlist", "wlan0", "scan"]) output = output.decode("utf-8") lines = output.split("\n") # 解析命令输出,获取WiFi网络的名称、信号强度等信息 for line in lines: if "ESSID:" in line: wifi_data = {} ssid = line.split("ESSID:")[1].strip().replace('"', '') wifi_data["SSID"] = ssid # 使用正则表达式获取WiFi信号强度 signal_level = re.findall(r"level=(-\d+)", line) if signal_level: wifi_data["信号强度"] = signal_level[0] + "dBm" wifi_list.append(wifi_data) except subprocess.CalledProcessError as e: print("Error:", e.output) return wifi_list # 测试:打印扫描到的WiFi网络 print(scan_wifi()) ``` 这段代码使用Python编写,首先执行系统命令`iwlist wlan0 scan`来扫描附近的WiFi网络。然后解析命令输出,提取WiFi网络的名称(SSID)和信号强度等信息,并将其封装为一个字典放入列表中。最后通过调用`scan_wifi()`函数来获取扫描到的WiFi网络列表,并将其打印出来。 需要注意的是,该代码仅适用于Linux系统,并假设WiFi设备使用wlan0接口。在实际应用中,可能需要根据具体的操作系统和网络设备进行相应的修改。另外,该代码还使用了正则表达式来解析命令输出中的信号强度信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值