【android bluetooth 協議分析 01】【HCI 層介紹 2】【Malformed Packet 介紹】

在實際工作中遇到了 malformed packet , 我這里來分析一下。 遇到這種問題的處理思路。

1. Malformed packet

在這里插入圖片描述


36982	2025-04-29 14:15:34.899760	controller	host	HCI_EVT	4	Rcvd Role Change[Malformed Packet]Frame 36982: 4 bytes on wire (32 bits), 4 bytes captured (32 bits)
Bluetooth
Bluetooth HCI H4
Bluetooth HCI Event - Role Change
[Malformed Packet: HCI_EVT][Expert Info (Error/Malformed): Malformed Packet (Exception occurred)][Malformed Packet (Exception occurred)][Severity level: Error][Group: Malformed]

這個 HCI 事件包被 Wireshark 標記為 “Malformed Packet: HCI_EVT”(格式錯誤的 HCI 事件),并提示 “Exception occurred”


1. 報文信息解析

  • Frame 36982:此幀只有 4 個字節,顯然是異常的。
  • 協議層級結構
    • Bluetooth
    • Bluetooth HCI H4
    • Bluetooth HCI Event - Role Change (HCI 事件:角色切換)
  • 錯誤提示
    • Malformed Packet: HCI_EVT:HCI_EVT(HCI Event)包格式不正確。
    • Exception occurred:Wireshark 在解析時拋出了異常,意味著它期望的數據格式不匹配或不完整。
    • 嚴重等級:Error
    • 錯誤分組:Malformed

2. 正常的 HCI Role Change 事件結構應如下:

字段長度(字節)說明
Event Code1固定為 0x0E(Command Complete)或 0x0F(Command Status)等
Parameter Total Length1剩余字段總長度
Status1執行結果狀態
Connection Handle2連接標識符
Role1當前角色(0x00 主機,0x01 從機)

一般長度應在 6~8 字節 之間,而你當前抓到的只有 4 字節,說明數據嚴重缺失或格式不符


3. 常見原因分析

原因描述
數據捕獲不完整HCI 設備或驅動只導出了部分數據
軟件 Bug / 藍牙棧異常控制器或 Host 端藍牙棧生成了不完整的數據包
解析器誤判Wireshark 插件或解析器未正確處理該事件
HCI H4 Header 錯誤開頭的類型碼(0x04)之后字段偏移錯誤,導致 Wireshark“錯位解析”

4. 解決建議

  1. 確認 HCI 抓包來源

    • 是通過 USB 抓取的 HCI 日志?(如 btmon
    • 還是 UART HCI log?(需確認 HCI H4 協議頭是否正確)
  2. 檢查前后幀是否也異常

    • 是否只有這一幀出錯?是否存在連續出錯,可能是串口偏移了。
  3. 重啟抓包工具并校準字節對齊

    • 使用 hcidumpbtmon 等確認源日志是否也顯示異常。
    • 確認串口或日志設備沒有丟包。
  4. 用十六進制查看原始數據

    • 右鍵該幀 -> Follow -> Raw DataHex Dump,看是否 HCI Header 部分損壞。
  5. 檢查驅動日志

    • 查看內核中 Bluetooth HCI 驅動是否有異常日志。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79113.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79113.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79113.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【視頻生成模型】通義萬相Wan2.1模型本地部署和LoRA微調

目錄 1 簡介2 本地部署2.1 配置環境2.2 下載模型 3 文生視頻3.1 運行命令3.2 生成結果 4 圖生視頻4.1 運行命令4.2 生成結果 5 首尾幀生成視頻5.1 運行命令5.2 生成結果 6 提示詞擴展7 LoRA微調 1 簡介 通義萬相 2.1 在 2025 年 1 月推出,2 月 25 日阿里巴巴宣布全…

模式識別的基本概念與理論體系

前面在討論專家系統時曾經說過,為了使計算機具有自動獲取知識的能力,除了應使它具有學習能力外,還應使它具有能識別諸如文字、圖形、圖象、聲音等的能力,計算機的這種識別能力是模式識別研究的主要內容。當然,模式識別…

樹的序列化 - 學習筆記

樹的序列化可以有很多種類:可以變成 dfs 序,可以變成歐拉序,還有什么括號序的科技。 但是除了第一個以外其他的都沒什么用(要么也可以被已有的算法給替代掉)。所以表面上是講樹的序列化,實際上還是講的 df…

KBEngine 源代碼分析(三):組網邏輯

machine 服務 machine 服務是 KBEngine 用來做服務治理的 每個節點上都需要部署 machine 服務 machine 服務使用 UDP 進行通信 服務發現的方法是其他服務使用 UDP 廣播的方式,通知所有 machine 服務 machine 服務啟動初始化 mahcine 服務初始化過程,主要做了監聽 UDP 端…

git 怎樣把本地倉庫推送到新建的遠程倉庫

將本地 Git 倉庫推送到一個新的遠程倉庫是一個常見的操作。以下是詳細的步驟: 步驟 1: 創建一個新的遠程倉庫 首先,你需要在 GitHub、GitLab 或其他代碼托管平臺上創建一個新的遠程倉庫。 例如,在 GitHub 上創建一個新倉庫: 登…

SPSS PCA+判別分析

1, 主成分分析PCA 我們只要對數化的變量數據: (1)對數據進行標準化處理: 選擇【分析】—【描述統計】—【描述】 添加要標準化的變量,勾選【將標準化值另存為變量(Z)】,再點確定 SPSS軟件本身不…

XWPFDocument生成word文檔介紹(格式 .docx)

以下是針對 XWPFDocument 的詳細解析,涵蓋其核心功能、常見用法及實際開發中的關鍵點: XWPFDocument 1. XWPFDocument 簡介2. 核心結構與類3. 核心操作詳解**3.1 段落與文本****3.2 表格操作****3.3 列表與編號****3.4 圖片插入** 4. 高級功能**4.1 頁眉…

crashpad 編譯

一環境配置 1.1設置系統UTF8編碼 1.2vs2017語言環境設置英文包 二.獲取depot_tools(此步驟可以跳過 最新工具包已上傳下載使用即可) windows下載壓縮包,然后放到系統PATH中 下載完以后,基本就是靠depot_tools這個工具集合了&am…

基于標注數據的情感分析模型研究

標題:基于標注數據的情感分析模型研究 內容:1.摘要 隨著互聯網的快速發展,大量文本數據蘊含著豐富的情感信息,對其進行情感分析具有重要的商業和社會價值。本研究的目的是構建基于標注數據的情感分析模型,以準確識別文本中的情感傾向。方法上…

【數據鏈路層深度解析】從幀結構到協議實現

目錄 一、數據鏈路層核心定位1.1 OSI模型中的位置1.2 三大核心職責 二、幀結構詳解2.1 以太網幀標準格式(IEEE 802.3)2.2 幀封裝代碼示例 三、核心協議機制3.1 MAC地址體系3.2 介質訪問控制CSMA/CD(以太網沖突檢測)現代交換機的演…

在若依前后端分離項目中集成 ONLYOFFICE 以實現在線預覽、編輯和協作功能

在若依前后端分離項目中集成 ONLYOFFICE 以實現在線預覽、編輯和協作功能 概述 ONLYOFFICE 是一款開源的在線文檔編輯套件,可實現文檔預覽、編輯、協作與轉換等功能,可通過 Docker 部署 DocumentServer 服務,并通過 HTTP API 或 WOPI 接口與…

SpringMVC 通過ajax 前后端數據交互

在前端的開發過程中,經常在html頁面通過ajax進行前后端數據的交互,SpringMVC的controller進行數據的接收,但是有的時候后端會出現數據無法接收到的情況,這個是因為我們的參數和前端ajax的contentType參數 類型不對應的情景&#x…

最新DeepSeek-Prover-V2-671B模型 簡介、下載、體驗、微調、數據集:專為數學定理自動證明設計的超大垂直領域語言模型(在線體驗地址)

DeepSeek-Prover-V2-671B模型 簡介、下載、體驗、微調、數據集:專為數學定理自動證明設計的超大垂直領域語言模型(在線體驗地址) 體驗地址:[Hugging Face 在線體驗]https://huggingface.co/playground?modelIddeepseek-ai/DeepS…

Kafka的Topic分區數如何合理設置?

一、分區數設置原則 1. 并發能力基準 分區數決定最大消費者并行度,建議設置為消費者組內消費者數量的整數倍 例如:消費者組有4個實例 → 分區數設為4/8/12等 這里定義的目的是為了讓消費者能均勻的分配到分區,避免打破負載均衡,…

章越科技賦能消防訓練體征監測與安全保障,從傳統模式到智能躍遷的實踐探索

引言:智能化轉型浪潮下,消防訓練的“破局”之需 2021年《“十四五”國家消防工作規劃》的出臺,標志著我國消防救援體系正式邁入“全災種、大應急”的全新階段。面對地震、洪澇、危化品泄漏等復雜救援場景,消防員不僅需要更強的體…

【數據庫原理及安全實驗】實驗五 數據庫備份與恢復

指導書原文 數據庫的備份與恢復SSMS 【實驗目的】 1) 熟悉并掌握利用界面操作進行數據庫備份和恢復的原理和操作。 【實驗原理】 1) 數據庫的恢復包括大容量日志恢復模式和簡單恢復模式。其中大容量日志恢復模式,簡單地說就是要對大容量操作進行最小日志記錄&a…

Linux 基礎IO(上)--文件與文件描述符fd

前言: 在生活里,我們常和各種文件打交道,像用 Word 寫文檔、用播放器看視頻,這些操作背后都離不開文件的輸入輸出(I/O)。在 Linux 系統中,文件 I/O 操作更是復雜且關鍵。 接下來我們將深入探討…

快速了解Go+rpc

更多個人筆記:(僅供參考,非盈利) gitee: https://gitee.com/harryhack/it_note github: https://github.com/ZHLOVEYY/IT_note 文章目錄 rpc基礎概念GO的rpc應用簡單編寫json編寫rpc rpc基礎概念 電商系統…

基于大模型的膀胱腫瘤全周期診療方案研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與方法 1.3 國內外研究現狀 二、大模型預測膀胱腫瘤的原理與技術基礎 2.1 大模型介紹 2.2 預測原理 2.3 技術支撐 三、術前風險預測與準備方案 3.1 腫瘤分期與惡性程度預測 3.2 患者身體狀況評估 3.3 術前準備工作 …

2025年4月個人工作生活總結

本文為 2025年4月工作生活總結。 研發編碼 一個項目的臨時記錄 自2月份領導讓我牽頭負責一個項目起,在本月算是有較多時間投入——但也是與之前的相比。 月初,清明節前一晚上,因某事務被叫上參加臨時緊急遠程會議,幾方領導都在…