深入理解Arduino下的ESP8266_Non-OS_SDK API⑥ Sniffer(混杂模式) 相关接口

授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。

共同学习成长QQ群 622368884,不喜勿加,里面有一大群志同道合的探路人

快速导航
单片机菜鸟的博客快速索引(快速找到你要的)

如果觉得有用,麻烦点赞收藏,您的支持是博主创作的动力。

请勿白嫖,请勿白嫖,请勿白嫖,点赞就是你最大的支持

1. Sniffer 相关接口

  • Sniffer 接口位于 tools/sdk/include/user_interface.h

1.1 混杂模式

  • 混杂模式(英语:promiscuous mode)是电脑网络中的术语。是指一台机器的网卡能够接收所有经过它的数据流,而不论其目的地址是否是它。
  • 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。简单的讲,混杂模式就是指网卡能接受所有通过它的数据流,不管是什么格式,什么地址的。事实上,计算机收到数据包后,由网络层进行判断,确定是递交上层(传输层),还是丢弃,还是递交下层(数据链路层、MAC子层)转发。
  • 简单的说,网卡的混杂模式是为网络分析而提供的。(wifi杀手探测器也是基于这个原理 ESP8266开发之旅 应用篇⑥ 检测周边WiFi杀手

2.相关API

2.1 wifi_promiscuous_enable —— 开启混杂模式 (sniffer)

函数定义

void wifi_promiscuous_enable(uint8 promiscuous)

参数

uint8 promiscuous
• 0:关闭混杂模式
• 1:开启混杂模式

返回值

⽆无

注意

• 仅支持在 ESP8266 单 Station 模式下,开启混杂模式

• 混杂模式中,ESP8266 Station 和 SoftAP 接口均失效

• 若开启混杂模式,请先调用 wifi_station_disconnect 确保没有连接

• 混杂模式中请勿调用其他 API,请先调用 wifi_promiscuous_enable(0) 退出 sniffer

2.2 wifi_promiscuous_set_mac —— 设置 sniffer 模式时的 MAC 地址过滤,可过滤出发给指定 MAC 地址的包(也包含广播包)

函数定义

void wifi_promiscuous_set_mac(const uint8_t *address)

参数

const uint8_t *address:MAC 地址

返回值

⽆无

注意

• 本接口需在 wifi_promiscuous_enable(1) 使能混杂模式后调用;

• MAC 地址过滤仅对当前这次的 sniffer 有效;

• 如果停止 sniffer,又再次 sniffer,需要重新设置 MAC 地址过滤。

示例

char ap_mac[6] = {0x16, 0x34, 0x56, 0x78, 0x90, 0xab};
wifi_promiscuous_set_mac(ap_mac);

2.3 wifi_set_promiscuous_rx_cb —— 注册混杂模式下的接收数据回调函数,每收到一包数据,都会进入注册的回调函数

函数定义

void wifi_set_promiscuous_rx_cb(wifi_promiscuous_cb_t cb)

参数

wifi_promiscuous_cb_t cb:回调函数

返回值

2.4 wifi_get_channel —— 获取信道号

函数定义

uint8 wifi_get_channel(void)

参数

返回值

信道号

2.5 wifi_set_channel —— 设置信道号,用于混杂模式

函数定义

bool wifi_set_channel (uint8 channel)

参数

uint8 channel:信道号

返回值

true:成功
false:失败
  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机菜鸟哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值