我正在运行 Ubuntu 10.04.1,并尝试使用 使我的蓝牙加密狗进行数据包捕获hcidump
。
据我所知,必须编译 libpcap 才能启用蓝牙嗅探,并且考虑到 hcidump 没有找到单个数据包,我猜测 Ubuntu 为我安装的版本没有编译蓝牙支持。
因此我下载了较新版本的 libpcap 并安装了 bluez 头文件。配置了 libpcap 后,它对蓝牙支持给出了“是”。它现在已安装并位于 中/usr/local/lib/
。
现在我正在尝试编译 hcidump 以使用这个库而不是系统默认值,但我不知道如何...
我读到过 GCC 可以传递-lpcap
标志来设置路径,但我还不知道如何做到这一点。
有任何想法吗?
答案1
我快速浏览了一下该libpcap
软件包,似乎要获得蓝牙支持,您需要做的就是使用已安装的蓝牙开发文件对其进行编译。也就是说,安装蓝牙开发库 打包,然后重新编译libpcap
:
sudo apt-get install libbluetooth-dev build-essential fakeroot
sudo apt-get build-dep libpcap
apt-get source libpcap
cd libpcap-*
dpkg-buildpackage -rfakeroot -b -nc -us -uc
sudo dpkg -iGO ../*.deb
(最好在此dpkg-buildpackage
步骤之前添加一个版本,debian/control
以便您的软件包带有与官方软件包不同的版本号,例如 1.0.0-6bloo1。)
然后尝试hcidump
从bluez-hcidump 。
如果确实需要重新编译hcidump
并传递自定义包含文件路径(也可能是自定义库文件路径),大多数具有脚本的程序的方法configure
是运行
CFLAGS='-I /path/to/dependency/include' LDFLAGS='-L /path/to/dependency/lib' ./configure …
/usr/local/include
并且/usr/local/lib
通常包含在默认搜索中。