Hello,
I'm not able to sniff BLE using your tool
I tried to configure nrf sniffer with nrfutil.
OS: MacOS 15.1.1 (arm)
Wireshark: 4.0.17 (it seems the actual version for last version the nrf sniffer for Bluetooth, later versions have different extcap folder, so comman nrfutil ble-sniffer bootstrap
doesn't work properly)
nrfutil-ble-sniffer 0.12.0 (97192db 2024-01-24) commit-hash: 97192dbd758c2790d6f894d98b5ab92f64d32fda commit-date: 2024-01-24 host: aarch64-apple-darwin build-timestamp: 2024-01-24T10:25:57.029337Z classification: nrf-external
nrfutil 7.4.1 (99b5854 2023-02-08) commit-hash: 99b5854354f13b3c1b25d2a4609c9422f46013c8 commit-date: 2023-02-08 host: aarch64-apple-darwin build-timestamp: 2023-02-08T15:30:49.074609+00:00 classification: nrf-external
I don't see interface in the Wireshark.
- I tried to run Wireshark with log-level debug, but I see nothing related to the nrf sniffer.
- I tried to run nrfutil-ble-sniffer-shim manually
./nrfutil-ble-sniffer-shim --extcap-dlts dlt {number=272}{name=NORDIC_BLE}{display=nRF Sniffer for Bluetooth LE}
./nrfutil-ble-sniffer-shim --extcap-config arg {number=0}{call=--only-advertising}{display=Only advertising packets}{tooltip=The sniffer will only capture advertising packets from the selected device}{type=boolflag}{save=true} arg {number=1}{call=--only-legacy-advertising}{display=Only legacy advertising packets}{tooltip=The sniffer will only capture legacy advertising packets from the selected device}{type=boolflag}{save=true} arg {number=2}{call=--scan-follow-rsp}{display=Find scan response data}{tooltip=The sniffer will follow scan requests and scan responses in scan mode}{type=boolflag}{default=true}{save=true} arg {number=3}{call=--scan-follow-aux}{display=Find auxiliary pointer data}{tooltip=The sniffer will follow aux pointers in scan mode}{type=boolflag}{default=true}{save=true} arg {number=4}{call=--scan-follow-aux-chain}{display=Find auxiliary pointer data chain}{tooltip=The sniffer will follow aux pointer data chains in scan mode}{type=boolflag}{default=false}{save=true} arg {number=5}{call=--scan-follow-aux-rsp}{display=Find auxiliary scan response data}{tooltip=The sniffer will follow aux pointer data chains in scan mode}{type=boolflag}{default=false}{save=true} arg {number=6}{call=--coded}{display=Scan and follow devices on LE Coded PHY}{tooltip=Scan for devices and follow advertiser on LE Coded PHY}{type=boolflag}{default=false}{save=true} arg {number=7}{call=--verbose}{display=Enable verbose logging}{tooltip=Enable verbose logging. This is useful to have enabled if creating customer help cases to Nordic Semiconductor}{type=boolflag}{default=false}{save=true}
RUST_BACKTRACE=full ./nrfutil-ble-sniffer-shim --extcap-interfaces thread 'main' panicked at src/main.rs:1570:68: called `Option::unwrap()` on a `None` value stack backtrace: 0: 0x100739508 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h298c9ab285ff3934 1: 0x1007577d4 - core::fmt::write::h4e276abdb6d0c2a1 2: 0x10073701c - std::io::Write::write_fmt::hd421848f5f0bf9d0 3: 0x100739344 - std::sys_common::backtrace::print::hd8bd9ecab1f94b94 4: 0x10073a850 - std::panicking::default_hook::{{closure}}::h520eeb743fc98fb4 5: 0x10073a598 - std::panicking::default_hook::ha6550ffe49b63df1 6: 0x10073ac78 - std::panicking::rust_panic_with_hook::hddb0e884a202de7c 7: 0x10073ab54 - std::panicking::begin_panic_handler::{{closure}}::hd2798398a2fd9077 8: 0x100739970 - std::sys_common::backtrace::__rust_end_short_backtrace::h9201cc364dbb8a23 9: 0x10073a914 - _rust_begin_unwind 10: 0x10076e7cc - core::panicking::panic_fmt::h4d5168028d4c43c7 11: 0x10076e840 - core::panicking::panic::h40561ff494e2b577 12: 0x1004e8ec4 - nrfutil_ble_sniffer::main::hf3f4012832e74141 13: 0x10050e3f4 - std::sys_common::backtrace::__rust_begin_short_backtrace::h04811ef35343dcb3 14: 0x100512898 - std::rt::lang_start::{{closure}}::h997e208e4c3d95e7 15: 0x100730e50 - std::rt::lang_start_internal::h5b246d44f1526226 16: 0x100512874 - std::rt::lang_start::h02cfa90d4b92fd26 17: 0x1004f4d8c - _main Error: Subprocess /Users/lybrus/.nrfutil/bin/nrfutil-ble-sniffer failed with unexpected exit code Some(101)
It seems the problem with nrfutil-ble-sniffer-shim
I also tried to install sniffer version written with python, but I racked my brain to figure out how to make the sniffer use correct version of python on mac (I'm using pyenv). I just make link for python3 and it started work. But about wireshark, due to lack of logs I don't understand what is going wrong.
Help me, please. I just want to understand better how exactly BLE works.