安卓蓝牙日志的获取方法
有过蓝牙调试经历的同学们可能都知道,在安卓系统中,在手机的设置–>开发人员页面下有一个开启蓝牙HCI信息收集日志选项开关,如下图中标红处, 打开该开关,就可以收集本机发送和接收的蓝牙HCI包。蓝牙包的数据会保存在btsnoop_hci.log文件中。
图一 打开蓝牙HCI日志
那么这个文件生成后被放在哪里了呢? 这个不同的手机放的位置可不一样。那么怎么知道我的手机上该文件放在哪呢? 我们可以通过下面的方法来查看。
adb shell cat /etc/bluetooth/bt_stack.conf
首先通过上面的adb命令看一下bt_stack.conf的内容, 你需要找到类似下面的这几行代码。
# BtSnoop log output file
BtSnoopFileName =/data/log/bt/btsnoop_hci.log <--日志文件位置
通常你还会看到下面几行代码,这一般反映你的HCI日志是否打开了。如果打开了,BtSnoopLogOutput的值应该会是true. 但这个也不一定,有的机器并不更新这个值。我的机器即使我通过设置打开了HCI日志开关,BtSnoopLogOutput的值还是false.
# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=false
如果按照上面的步骤你打开了HCI开关, 并且知道了btsnoop_hci.log的位置。如果你运气好,正好日志文件存放的文件系统又可读,你就可以通过下面的命令获取到日志文件。
adb pull /data/log/bt/btsnoop_hci.log
接着你就可以用wireshark等工具分析日志了。
可惜我就没有那么幸运了。我的华为荣耀平板,按上面的步骤操做后根本就找不到btsnoop_hci.log,即使我在bt_stack.conf文件中看到BtSnoopFileName =/data/log/bt/btsnoop_hci.log它应该被存在这个目录下, 但这个目录对用户不可见,我又root不了该平板。
还好还有另外一种获得蓝牙日志文件的方法。越来越多的手机厂家开始采用通过bug report获取日志的方法替代直接获取btsnoop_hci.log的方法了。 这种方法首先需要运行下面的指令:
adb bugreport c:\tmp\
得到一个压缩文件bugreport-JDN2-W09HN-HUAWEIJDN2-W09HN-2021-06-08-15-07-38.zip,展开这个文件到一个目录后会看到一个同名的TXT文件。然后执行:
btsnooz.py bugreport-JDN2-W09HN-HUAWEIJDN2-W09HN-2021-06-08-15-07-38.txt > btsnoop.log
其中btsnooz.py脚本可以通过google官网下载, 也可以通过我上传的资源下载。 这个script文件用于从bug report中获取蓝牙日志。这样生成的btsnoop.log文件就可以用wireshark分析了。
补充说明:原先写这篇文章时忘了写当时使用的Python版本及操作系统。最近因项目需要,发现重新按照上面的方法在Win7, Win10下用Python 3.X , 2.8 生成的日志,Wireshark解析都出错。后来在Cent OS 6.5 Python 2.6 环境下生成日志才没有问题。
安卓蓝牙日志的获取方法相关推荐
- 一种网络用户行为日志自动获取方法
摘要 本发明公开了一种网络用户行为日志自动获取方法,其特征在于:在客户端与Web服务器之间加上一代理服务器,代理服务器第一次接受Web服务器返回的响应正文为HTML格式的用户响应即HTTP响应,在该H ...
- 手机抓取蓝牙日志btsnoop的方法汇总(Android一直补充中)
一. Android手机 一般如果手机厂商没有做限制的情况下,打开开发者选项,打开HCI日志手机功能,然后重启蓝牙就可以抓取了,蓝牙HCI日志功能如下图,每个手机显示可能略有差异 那么一般btsn ...
- 苹果蓝牙日志如何获取
用手机siri 浏览器登录https://developer.apple.com/bug-reporting/profiles-and-logs/?name=bluetooth 找到Bluetooth ...
- 昨天日志 今天日志的获取方法
获取当天的日志: ######/home/nagios/query_log.sh 脚本执行的是获取昨天的日志 因此 把获取昨天的时间命令取消`date -d yesterday +%Y%m%d` 此时 ...
- android 获取蓝牙设备id_安卓蓝牙系统中如何获取蓝牙音乐的音频跟踪会话ID
原标题:安卓蓝牙系统中如何获取蓝牙音乐的音频跟踪会话ID 蓝牙音乐AudioTrack Session ID的获取 当今这个音视频无处不在的时代,音频跟踪会话ID(AudioTrack Session ...
- uni-app蓝牙设备连接以及设备的传输,CRC16,ios蓝牙和安卓蓝牙获取数据不一致处理方案
前言: 因为需要开发与蓝牙设备控制相关,但是这不是常用的蓝牙打印,并且是由原生安卓已经做好的,但是需要移植到多平台(小程序 等)都可以使用所以就要移植成 uni-app ,所以这个是按照uni-app ...
- grep mysql_详解grep获取MySQL错误日志信息的方法
为方便维护MySQL,写了个脚本用以提供收集错误信息的接口.这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径. 以下是全部相关代码: #!/usr/b ...
- Android Studio 基础 之 获取蓝牙Bluetooth 的状态,设置的蓝牙Bluetooth 的开关状态,并监听蓝牙Bluetooth 的状态变化方法整理
Android Studio 基础 之 获取蓝牙Bluetooth 的状态,设置的蓝牙Bluetooth 的开关状态,并监听蓝牙Bluetooth 的状态变化方法整理 目录 Android Studi ...
- linux系统给安卓root权限,安卓手机该如何获取Root权限?方法很简单,但不建议Root...
原标题:安卓手机该如何获取Root权限?方法很简单,但不建议Root 想要获取安卓智能手机的Root权限,现在已经是相当简单,只需要网上搜索Root精灵.Root大师.百度一键Root.360一键Ro ...
最新文章
- React学习笔记二——react-router
- Renascence架构原理——遗传规划算法
- vmware 蓝屏_网络安全小百科--利用微软CVE 2019-0708漏洞让对方系统蓝屏死机
- java判断读到末尾_Java 中的运算符和流程控制
- 自卑都是自己不踏实做事的表现
- 2012-2013最新泰晤士报和QS世界大学排名前100名单对比
- GEE:基于GEE的单个湖泊的实时水体提取(以武汉东湖为例)
- 2022年全国职业院校技能大赛(高职组)
- IDEA鼠标悬停显示注释
- DoIP专栏 - DoIP协议组成
- vmware 启动虚机黑屏
- (05)2020-12-07(选择器)
- 为什么神经元有数千个突触,一个新皮质中的序列记忆理论(HTM算法基础)
- 【雅思阅读】王希伟阅读P4(matching1)
- vue 项目ztree 异步加载树
- Oracle 11g RAC CRS-4535/ORA-15077
- 西门子推出Teamcenter X,官方免费体验,基于云的PLM究竟香不香?
- 3dmax 视图切换
- 智能建筑计算机网络系统设计的主要内容及遵循的原则,小区智能化系统设计设计原则及功能需求...
- 没有Nvidia(英伟达)显卡对深度学习计算的影响