如何使用Wireshark嗅探蓝牙键盘与电脑间的数据包?
嗅探蓝牙/蓝牙低功耗(BLE)键盘数据包的Wireshark设置步骤
一、硬件准备
- 配备支持蓝牙嗅探模式的外接适配器:普通消费级蓝牙适配器通常不支持监听功能,需选用专门的嗅探设备,比如TI CC2531/CC2540、Nordic nRF52系列适配器,或商用蓝牙分析适配器。内置蓝牙模块几乎无法切换到监听模式,必须使用外接设备。
- 区分适配类型:嗅探BLE键盘需适配器支持BLE嗅探;嗅探经典蓝牙键盘需适配器支持HCI监听模式。
二、驱动与模式切换
- 安装对应适配器的嗅探驱动:比如TI适配器需安装TI Packet Sniffer驱动,Nordic适配器需搭配nRF Sniffer工具。
- 将适配器切换至嗅探/监听模式:不同设备操作不同,例如CC2531需刷入专用嗅探固件,Nordic适配器可通过nRF Connect工具一键切换模式。
三、Wireshark具体配置
1. 确认蓝牙插件安装
确保Wireshark已安装蓝牙相关组件(默认安装时已勾选,若缺失可重新运行安装程序并选中“Bluetooth”选项)。
2. 选择嗅探接口
打开Wireshark,在捕获接口列表中找到你的蓝牙嗅探适配器(通常显示为对应型号或“Bluetooth Sniffer Adapter”),双击启动数据包捕获。
3. 针对性过滤数据包
为聚焦键盘相关数据,使用以下过滤规则:
- 经典蓝牙键盘:输入过滤规则
l2cap && hidp或直接hid,仅显示HID协议相关数据包。 - BLE键盘:输入
btatt.opcode == 0x1b过滤HID报告通知,或用btatt聚焦BLE属性协议数据。
4. 配对与解密设置
- 经典蓝牙场景:必须在键盘与电脑配对前启动嗅探,才能捕获配对过程中的链路密钥。若设备已配对,需先取消配对,重启捕获后重新完成配对,随后在Wireshark中通过
Edit > Preferences > Protocols > Bluetooth > Decryption Keys导入链路密钥,解密后续加密数据包。 - BLE场景:建议在设备未连接时启动嗅探,完整捕获连接、配对绑定流程。若设备已配对,可从系统中导出长期密钥(LTK):Windows路径为
HKLM\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys,macOS路径为/Library/Preferences/com.apple.Bluetooth.plist,然后在Wireshark的Edit > Preferences > Protocols > BLE > Decryption Keys中添加密钥,解密加密的HID数据。
四、实操注意事项
- 控制嗅探距离:蓝牙信号覆盖范围有限,需将嗅探适配器放在键盘与电脑之间,避免因距离过远导致丢包。
- 禁用内置蓝牙:部分系统(如Windows)会占用内置蓝牙模块,可能干扰外接嗅探适配器工作,建议暂时禁用内置蓝牙。
- 密钥是解密关键:没有配对过程中捕获或导出的密钥,只能看到加密后的乱码数据,无法解析键盘的按键内容。
内容的提问来源于stack exchange,提问作者sahana
相关产品推荐
相关产品推荐

