清泛IT社区

搜索
App Inventor 2 中文社区 轻松创建Apps

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.69

Aia Store .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

开通VIP送小红花App Inventor 2 拓展有奖征文 VIP会员享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档中文教程IoT专题

查看: 657|回复: 0
打印 上一主题 下一主题

[经验分享] BLE(五)移动端工具

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 97 天

    [LV.6]常住居民II

    301

    主题

    479

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    11154

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 2024-02-05 11:25:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    文章源自:https://www.gandalf.site/2018/12/ble.html

    0x1 Android手机抓取app蓝牙数据0x11 Android蓝牙HCI日志在部分Android机型为开发人员提供了保存蓝牙日志的选项,即可保存手机向设备发送的数据和设备响应的数据,打开方式如下:
    开发者模式→蓝牙HCI日志


    不同的平台存放HCI log的路径会不一样,MTK存放HCI log的路径为/sdcard/mtklog/btlog/btsnoop_hci.log,高通的存放路径为/sdcard/btsnoop_hci.log
    如果上面提到的路径下都没有HCI log,还可以通过手机上的蓝牙配置文件bt_stack.conf来查看路径
    bt_stack.conf位于/etc/bluetooth/路径下,HCI log路径通过BtSnoopFileName=/sdcard/btsnoop_hci.log`来进行设置的
    另外如果没有bt_stack.conf文件,设备也会在默认路径下生成日志:/data/misc/bluetooth/logs/btsnoop_hci.log
    之后导出到wireshark查看即可,如图清晰的展示了蓝牙各协议栈的内容,分析时候重点关注发送的数据内容即Handle、uuid、Value等值即可

    0x12 Bluez调试工具hcidump虽然Android 4.2已经将蓝牙协议栈替换为Bluedroid,但仍可使用BlueZ调试工具(需自行编译,或网上下载),且hcidump输出的数据与开发者模式里的蓝牙HCI日志基本一样,源码如下:
    https://android.googlesource.com/platform/external/bluetooth/bluez/+/android-4.1.2_r1
    hcidump抓取 log :
    • 打开蓝牙
    • 用adb shell 登陆android设备 并且用 hcidump -w /sdcard/hcilog
    • 开始测试
    • 测试完成,停止hcidump
    • 导出到wireshark分析 hcilog 文件
    0x2 扫描器在移动平台上都有一些通用的BLE扫描工具,如LightBlue和nRF Connect,二者功能相似,都有Android和iOS版本。
    0x21 LightBlueLightBlue使用简单,打开蓝牙和app,即自动扫描蓝牙设备,未连接之前,大部分设备都是Unnamed和No services,选择其中一个会尝试连接,连接成功后即可获取蓝牙设备的设备信息、UUID、服务等信息了,选择其中一个服务,还可以尝试对其读写数据:

    0x22 nRF ConnectnRF Connect的使用方式和LightBlue基本一致,优点在于对设备服务信息展示更为直观:


    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.69更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2024 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2024-05-17 14:17 , Processed in 0.020399 second(s), 37 queries .