分析蓝牙低功耗流量

时间:2015-09-17 21:55:22

标签: bluetooth-lowenergy wireshark packet-capture snort

在尝试研究BLE时,我想知道是否可以通过wireshark和snort等工具对其进行分析?我找到了一个名字" ubertooth"但这是一个需要购买的USB设备,以便我们在BLE机架上进行DPI是不是?是否有可能在线鲨上捕获和分析BLE帧?

4 个答案:

答案 0 :(得分:4)

是的,可以使用wireshark来分析BLE数据包,但是您需要额外的硬件。嗅探连接需要来自蓝牙芯片组内部实现的基带层的支持。计算机内部的芯片组软件不支持嗅探,因此您需要另一个可以控制其软件的芯片组。

我使用nRF51 Dongle,它是nRF51的开发套件,来自Nordic Semi的BLE + Cortex M0 SoC。 Nordic为该主板提供固件,将其变成嗅探器。它们还为Windows提供了一个应用程序,通过USB与该固件通信以获取嗅探数据,并以Wireshark可理解的方式对其进行格式化。

如果您使用的是Windows,则只需使用the tools provided by Nordic on this page,然后按照“用户指南”中的说明进行操作。

编辑2018-10 :Nordic已经发布了测试版的Mac和Linux应用程序,以支持他们的嗅探器,所以此帖的其余部分不再是必需的。你可以download the new tool here

然后,一切正常后,您将数据包传输到Wireshark,您可以使用所有非常棒的Wireshark内置过滤器来实现蓝牙和BLE:btattbtl2capbtle ,. ..

原帖

如果像我一样,你在Mac上,你需要:

nrf-ble-sniffer-osx Wiki解释了如何设置它。感谢Roland King制作这些工具。

Mac设置的两个重要注意事项:

  • 在nrf-ble-sniffer-osx之前安装Wireshark。这是因为nrf-ble-sniffer-osx需要为Wireshark安装一些额外的过滤器,以便它可以解码Nordic固件添加到数据包的标头,如果之后安装了Wireshark,它就不会这样做。
  • 使用Wireshark版本1.12。在撰写本文时,没有更新的版本适用于此设置。是的,这意味着你必须使用XQuartz。

如果您使用的是Linux,it looks like it's also possible to use this dongle,但我还没有尝试过。

答案 1 :(得分:0)

您确实需要一个支持BLE的设备来分析BLE信号,因此如果您的设备不支持BLE,则无法对其进行分析。

答案 2 :(得分:0)

  

是否可以在线鲨上捕获和分析BLE帧?

如果您以某种方式设法将蓝牙LE流量捕获到链接层标头类型为LINKTYPE_BLUETOOTH_LE_LL或LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR的pcap或pcapng文件中,则可以对其进行分析。

但是,the Wireshark Wiki page on capturing Bluetooth traffic只说

  1. 在Linux上捕获进出机器的流量;
  2. 使用Ubertooth被动捕获第三方流量;
  3. 所以,虽然您可以使用Wireshark 分析流量,但您可能无法使用Wireshark 捕获它。正如Josh Baker所说,您可以从命名管道捕获并将ubertooth-btle工具的输出传递给Wireshark。 (如果Ubertooth有一个libpcap模块会很好,这样你就可以直接用Wireshark捕获它。)

    但如果您不想购买Ubertooth设备,则可能无法捕获蓝牙LE流量。

答案 3 :(得分:-1)

大多数Android设备都支持BLE。您只需转到开发者选项 - >即可录制蓝牙数据包。启用蓝牙HCI监听日志。该日志将保存在/sdcard/btsnoof_hci.log中。但是,如果您的目标是被动监控,它将无法正常工作,只会获得进出设备的流量。