Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何从iBeacon/BLE检索广告有效负载_Linux_Bluetooth Lowenergy_Ibeacon_Bluez - Fatal编程技术网

Linux 如何从iBeacon/BLE检索广告有效负载

Linux 如何从iBeacon/BLE检索广告有效负载,linux,bluetooth-lowenergy,ibeacon,bluez,Linux,Bluetooth Lowenergy,Ibeacon,Bluez,如何在linux中检索蓝牙LE发射器的广告有效负载 具体来说,我已经使用hcitool配置了arduino和R-PI作为iBeacons 我要找的是一个命令,用于打印设备的当前广告有效负载。在Radius Networks,我们将一组脚本放在一起,用于解析Linux上检测到的BLE广告中的iBeacon标识符。你可以找到这个的描述 如果您只是想查看原始广告字节,可以使用以下工具在Linux上开始扫描: sudo hcitool lescan --duplicates & 然后使用以下命

如何在linux中检索蓝牙LE发射器的广告有效负载

具体来说,我已经使用hcitool配置了arduino和R-PI作为iBeacons


我要找的是一个命令,用于打印设备的当前广告有效负载。

在Radius Networks,我们将一组脚本放在一起,用于解析Linux上检测到的BLE广告中的iBeacon标识符。你可以找到这个的描述

如果您只是想查看原始广告字节,可以使用以下工具在Linux上开始扫描:

sudo hcitool lescan --duplicates &
然后使用以下命令查看结果:

sudo hcidump --raw 
更多详细信息请参见上面链接的答案。

因为您需要捕获和显示蓝牙数据包-包括BTLE和其他数据包类型

要使用Wireshark捕获LE数据包,您仍然需要告诉蓝牙接口查询LE数据包,如前面的回答所述:

sudo hcitool lescan --duplicates &
此外,如果您希望适配器定期查询处于可发现模式的蓝牙设备,您可以运行(尽管这些查询不会检测到BTLE发射):

这两个命令都运行无限循环
如何运行有限循环并获取数据

David,感谢您的回答,但很抱歉我不清楚。我在寻找一种从我登录的设备获取有效载荷的方法。我知道一旦我使用hcitool配置了一个设备,它就会打印出有效负载。我要找的是一个类似的命令来读取当前配置。我想这是一个hcitool cmd,但没有找到正确的参数。明白。我不确定蓝牙规范是否允许读取这些信息,BlueZ可能不会保留副本。如果无法访问,您可以在设置广告参数时将其保存在变量(环境或其他)中。谢谢-我试图找到一种方法直接确认有效负载数据,以防它被其他方式修改。我想我将使用您的脚本版本,其中还包括在另一台设备上设置的MAC地址,以确认有效负载数据。如果没有其他人插话,我会把这个标记为正确答案。奇怪的是,这个规范有一个写命令,但没有一个等效的读命令?我试着在BLE规范中查找,但找不到任何东西。多个程序可以同时向蓝牙加密狗发送HCI命令,因此能够从加密狗中读取当前设置就更好了。
sudo hcitool spinq
sudo hcitool lescan --duplicates &
sudo hcitool spinq