WiFi 嗅探原理揭秘:esp8266-sniffer 如何捕捉 Probe Request 数据包

📅 2026/8/24 11:23:39
WiFi 嗅探原理揭秘:esp8266-sniffer 如何捕捉 Probe Request 数据包
WiFi 嗅探原理揭秘esp8266-sniffer 如何捕捉 Probe Request 数据包【免费下载链接】esp8266-snifferAn easy experiment which uses the ESP8266 wifi module to look for near smartphones around you项目地址: https://gitcode.com/gh_mirrors/es/esp8266-sniffer你的智能手机此刻正在空中不断发送一种特殊的 WiFi 数据包——Probe Request探测请求。开源项目esp8266-sniffer只用一块几块钱的 ESP8266 WiFi 模块就能实现 WiFi 嗅探实时听到周围手机发出的探测请求并显示信号强度、设备 MAC 地址和它正在寻找的 WiFi 网络名称SSID。这是一个极佳的入门实验帮你低成本理解 802.11 无线协议背后的原理。什么是 Probe Request手机的无线寻人广播手机即使没有连接 WiFi也会周期性地向空中广播探测请求相当于询问你认识这些 SSID 吗我好像连过你们。它的目的很简单快速重连比等待路由器广播 Beacon 帧更快找到曾经连接过的网络携带身份信息广播中包含手机唯一的MAC 地址以及历史连接过的 SSID 列表。这些数据包属于 802.11 协议中的管理帧Management Frame明文传输、不带任何加密任何处于监听模式的设备都能收到——这正是本项目能免费抓包的根本原因。为什么 ESP8266 能变身免费 WiFi 嗅探器多数方案需要昂贵的专用网卡而 ESP8266 自带一个杀手级特性——混杂模式Promiscuous Mode即监听模式 Monitor Mode芯片不再加入某个特定网络而是旁听当前信道上的所有 2.4GHz 无线数据包通过固件底层 APIwifi_promiscuous_enable即可开启并注册一个回调函数接收每个数据帧代价是同一时刻只能监听一个信道所以 esp8266-sniffer 用了**信道跳频Channel Hopping**技巧定时器每 1 秒把芯片从信道 N 跳到 N11~13 循环轮询整个 2.4GHz 频段。核心代码流程如何识别出 Probe Request全部逻辑集中在 src/main.cpp 中流程非常简洁开启监听模式setup()把 ESP8266 设为 Station 模式注册回调sniffer_callback再启用混杂模式见 src/main.cpp信道轮询channelHop()每秒切换一次信道覆盖 1-13 号信道见 src/main.cpp过滤帧类型每收到一个数据帧showMetadata()解析帧头的 Frame Control 字段只保留管理帧 Probe Request 子类型SUBTYPE_PROBE_REQUEST 0x04其余帧直接丢弃见 src/main.cpp提取三要素从接收控制结构体读出RSSI信号强度从帧偏移 10 处取出 6 字节Peer MAC再按长度字段读出目标SSID打印到串口。如何烧录运行 esp8266-sniffer最快配置方法硬件只需要一块NodeMCU或任意 ESP8266 开发板加一根 USB 线获取项目代码git clone https://gitcode.com/gh_mirrors/es/esp8266-sniffer项目使用PlatformIO管理构建platformio.ini 已预配置nodemcuv2板型、Arduino 框架与 115200 串口波特率无需改任何参数用 PlatformIO IDE 打开项目点击编译并上传Upload打开串口监视器波特率 115200即可看到持续滚动的嗅探结果。典型的串口输出如下RSSI 绝对值越小设备离你越近RSSI: -77 Ch: 1 Peer MAC: f0:27:65:xx:xx:xx SSID: RSSI: -87 Ch: 6 Peer MAC: e4:ce:8f:xx:xx:xx SSID: Heil_Mobile RSSI: -90 Ch: 6 Peer MAC: e4:ce:8f:xx:xx:xx SSID: Badoo_Free_Wifi输出结果怎么看RSSI、MAC 与 SSID 三要素RSSI接收信号强度例如-43比-92近得多可粗略判断设备距离Peer MAC发送探测请求的手机 MAC 地址持续记录即可观察同一部手机的位置变化SSID手机正在寻找的历史网络名可能暴露主人常去的地方酒店、机场、运营商网络Ch当前监听信道配合跳频定时器轮询 2.4GHz 全频段。⚠️ 合规提醒只用于学习请勿用于追踪他人作者特别声明本项目仅用于教育目的只监听手机主动公开广播的无加密管理帧不破解、不监听任何私密通信。Probe Request 虽是公开广播信息但不同国家和地区对被动监听的法律界定不同使用前请务必确认当地法规。更多背景可阅读 README.md 中的说明。【免费下载链接】esp8266-snifferAn easy experiment which uses the ESP8266 wifi module to look for near smartphones around you项目地址: https://gitcode.com/gh_mirrors/es/esp8266-sniffer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考