基于树莓派5的蓝牙嗅探环境配置

文章发布时间:

最后更新时间:

首先树莓派的环境配置

我的是树莓派5,选了64位的
记得高级选项里面开ssh服务和配置WIFI
烧录完把SD卡插进插槽就可以启动了

稍微吐槽一下他的接口,有点难插),所以还是喜欢用ssh

sd卡的插槽在背面(我先把外壳装上了找了老久233)

搞起来之后在路由器的后台就能找到树莓派的ip

试过用tigervnc搞远程桌面,延迟挺大的,但能用

这里有个后续,看文章末尾

连上开始配环境

换个源先

1
2
sudo apt install vim
sudo vim /etc/apt/sources.list

改成以下

1
2
3
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free-firmware

还有一处

1
sudo vim /etc/apt/sources.list.d/raspi.list

改成以下

1
deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi bookworm main

我用的设备是ubertoolth one


可以跟这个文档https://ubertooth.readthedocs.io/en/latest/index.html
但是树莓派5是debian12的了,wireshark也有更新,会有些小问题

先装蓝牙依赖

1
2
sudo apt install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev wget \
pkg-config python3-numpy python3-qtpy python3-distutils python3-setuptools

libbtbb:

1
2
3
4
5
6
7
8
9
wget https://github.com/greatscottgadgets/libbtbb/archive/2020-12-R1.tar.gz -O libbtbb-2020-12-R1.tar.gz
tar -xf libbtbb-2020-12-R1.tar.gz
cd libbtbb-2020-12-R1
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

ubertooth tools:

1
2
3
4
5
6
7
8
9
wget https://github.com/greatscottgadgets/ubertooth/releases/download/2020-12-R1/ubertooth-2020-12-R1.tar.xz
tar -xf ubertooth-2020-12-R1.tar.xz
cd ubertooth-2020-12-R1/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

装wireshark和ubertooth插件
以下cmake的时候会有问题

1
2
3
4
5
6
7
sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
cd libbtbb-2020-12-R1/wireshark/plugins/btbb
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/aarch-linux-gnu/wireshark/plugins/4.0/epan ..
make
sudo make install

我瞎搞做了以下操作

1
2
export C_INCLUDE_PATH=/usr/include/wireshark
export CPLUS_INCLUDE_PATH=/usr/include/wireshark

然后在/usr/include/wireshark下给他创了一个config.h(啥都没写的)
编译就过了 :) 虽然很多警告

以下同理,安装蓝牙插件

1
2
3
4
5
6
7
sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
cd libbtbb-2020-12-R1/wireshark/plugins/btbredr
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/aarch-linux-gnu/wireshark/plugins/4.0/epan ..
make
sudo make install

设置wireshark权限

1
2
3
4
sudo groupadd wireshark
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a 你的用户名 wireshark

开冲

在tmp下

1
2
rm pipe
mkfifo pipe

然后在wireshark设置(这里没截图,用了我ubuntu上的wireshark,但是同理)

然后在命令行

1
ubertooth-btle -f -c /tmp/pipe

需要注意的是以上两个步骤不能反过来,会有问题
然后就可以开始嗅探了

可以看到wireshark中的抓包内容

后续

回学校之后不知道为什么micro-HDMI连不上屏幕了,不得已还是得搞个vnc,记录一下

命令行

1
sudo raspi-config

然后



远程桌面正常连接就行