Как я могу указать путь к libpcap при настройке / создании / установке?
Я использую Ubuntu 10.04.1 и пытаюсь заставить систему перехвата пакетов работать с моим ключом Bluetooth, используя hcidump
,
Из того, что я прочитал, libpcap должен быть скомпилирован, чтобы включить сниффинг Bluetooth, и учитывая, что hcidump не находит ни одного пакета, я предполагаю, что версия, установленная для меня Ubuntu, не скомпилирована с поддержкой bluetooth.
Поэтому я скачал более новую версию libpcap и установил заголовочные файлы bluez. Настроил libpcap, и он дал "Да" для поддержки Bluetooth. Сейчас установлено и сидит в /usr/local/lib/
,
Сейчас я пытаюсь скомпилировать hcidump для использования этой библиотеки, а не системы по умолчанию, но я не могу понять, как...
Я читал, что GCC может быть передан -lpcap
флаг, чтобы установить путь, но я не понял, как это сделать.
Есть идеи?
1 ответ
Я быстро взглянул на libpcap
пакет, и кажется, что все, что вам нужно сделать, чтобы получить поддержку Bluetooth, это скомпилировать его с установленными файлами разработки Bluetooth. То есть установите libbluetooth-dev пакет, затем перекомпилируйте 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
обычно включаются в поиск по умолчанию.