环境准备
可以用VirtualBox安装Ubuntu虚拟机,把Windows下的Bluetooth设备禁用(设备管理器,Bluetooth目录下)。
运行Ubuntu虚拟机,在VirtualBox菜单上加入Bluetooth设备到虚拟机。
或者在虚拟机的设置里面永久加入Bluetooth设备:
安装Wireshark
- 在Ubuntu桌面的terminal内输入:sudo apt install wireshark
- 但问到是否打开non-superusers用户的抓包权限时,选'Yes'
- 把用户加入wireshark组
- sudo usermod -aG wireshark $(whoami)
- 重启,以便配置生效。
- 运行Wireshark: 在terminal内输入wireshark,或者从GUI中,在搜索栏上搜索Wireshark应用程序,然后按Enter。
- 此时可以看到bluetooth0的设备在wireshark界面中
- 如果没有,请用lsusb命令, hcitool dev命令看看是否有蓝牙设备
$ hcitool dev
Devices:
hci0 CC:C6:C0:C3:C7:CC
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0cf3:e300 Qualcomm Atheros Communications
Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
抓蓝牙包
- Wireshark只能抓到本机和其他设备的蓝牙通信报文,无法抓取其他设备之间的蓝牙报文。
- 在Wireshark中双击bluetooth0接口启动抓包
- 打开Ubuntu设置界面的Bluetooth,此时系统会扫描蓝牙设备,可以看到Wireshark已经抓到这些报文。
参考
- https://wiki.wireshark.org/Bluetooth
- https://wiki.wireshark.org/CaptureSetup/Bluetooth
- https://blog.csdn.net/XiaoXiaoPengBo/article/details/107541241
- https://www.fujieace.com/linux/hcitool.html
- bluetooth sniffer by wireshark in ubuntu(linux) https://blog.csdn.net/ielife/article/details/70207718