0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

經(jīng)典藍牙抓包解析說明

泰凌微電子 ? 來源: 泰凌微電子 ? 2024-07-24 09:04 ? 次閱讀

無線通信協(xié)議的開發(fā)過程中,抓包器是工程師們不可或缺的工具。掌握抓包器的使用,就如同擁有了能夠洞察無線電波的“火眼金睛”。這不僅使我們能夠驗證發(fā)出的數(shù)據(jù)包是否準(zhǔn)確,檢查流程或時序的合理性,還能幫助我們更便捷地定位和解決各種技術(shù)難題。對于藍牙技術(shù)而言,抓包器的作用同樣不可小覷。它強大的捕獲功能讓我們能夠輕松獲取空中傳輸?shù)陌脑敿?a target="_blank">信息,包括頻率、頻率偏差、長度、信號強度以及具體傳輸內(nèi)容等。此外,抓包器還具備出色的解析能力,能夠按照協(xié)議層級對捕獲的包進行分類,從而更有效地分析各個層面可能出現(xiàn)的問題。

本文將通過使用廣泛認(rèn)可的Ellisys抓包器為例,首先簡要介紹其基本使用方法,然后結(jié)合實際案例,展示抓包器在藍牙開發(fā)中的高效應(yīng)用。我們會特別針對Ellisys在分析經(jīng)典藍牙連接過程、加密數(shù)據(jù)和通信頻率等常用功能上進行解析。

對于低功耗藍牙的抓包和解析,您還可以參考我們之前發(fā)布的經(jīng)典教程:【技術(shù)專欄】藍牙抓包工具Ellisys(上)——原來Debug這么容易。這將為您提供更多深入的指導(dǎo)和幫助。

1

ellisys抓包器用法簡介

市面上眾多品牌的抓包器中,Ellisys因其全面的功能和高效性能成為我們的首選工具。它采用全頻帶并發(fā)通道嗅探技術(shù),能夠?qū)崟r捕捉所有藍牙頻點,提供便捷的使用體驗和豐富的數(shù)據(jù)捕獲。除了捕獲空中數(shù)據(jù)包,Ellisys還能通過USB、UART、SPI等接口獲取HCI信息,進一步增強了其分析能力。內(nèi)置的邏輯分析器功能允許我們將邏輯信號與空中包進行對比,為開發(fā)和調(diào)試過程中的問題定位提供了強有力的支持。

ddd6b660-4954-11ef-b8af-92fbcf53809c.png

圖1.ellisys抓包器

首先,接通抓包器電源,并使用USB線直接連接至電腦的USB端口,避免使用USB集線器以保證數(shù)據(jù)傳輸?shù)男?。接著,在電腦上打開Ellisys提供的上位機軟件,按照圖2的指示,進入菜單欄選擇“Record”->“Recording Options”。在彈出的配置窗口中,根據(jù)您的需求選擇要捕獲的無線或有線協(xié)議、邏輯分析儀的信號通道等,完成設(shè)置后點擊“OK”保存配置,即可開始高效的數(shù)據(jù)捕獲與分析。

ddf93096-4954-11ef-b8af-92fbcf53809c.png

圖2.抓包器上位機界面

de235e5c-4954-11ef-b8af-92fbcf53809c.png

圖3.抓包器配置界面

點擊工具欄中的Record按鈕,抓包器就會開始抓取空中包,并將獲取到的信息實時顯示在下方的各個窗口中如圖4所示,A區(qū)為抓到的所有空中包的總覽,可以通過該區(qū)域上方的工具欄來篩選出各個協(xié)議的包或者包含指定數(shù)據(jù)的包;B區(qū)為選中空中包的詳細信息,這里會自動解析出在A或C區(qū)選中的包的信道、能量以及內(nèi)容等;C區(qū)則以時間為橫軸,顯示了空中包的時序,可以直觀地看出空中包發(fā)送的時間以及長度;D區(qū)為包的原始信息,通過這里我們可以直接分析空中包的數(shù)據(jù)是否正確等。上位機的layout可能會有所不同,如果找不到這些區(qū)域可點擊菜單欄中的layout->reset layout就可以將layout恢復(fù)成原始設(shè)定。

de3d4c22-4954-11ef-b8af-92fbcf53809c.png

圖4.抓包器上位機各區(qū)域

我們已經(jīng)概述了抓包器的基本操作,這為您提供了分析問題所需的初步技能?,F(xiàn)在,讓我們通過一些實際案例來深化對抓包器的理解,并探索其更高級的功能。通過這些示例,您將學(xué)習(xí)到如何更有效地利用抓包器,以提升您的分析技巧和效率。

2

藍牙抓包解析實例

在以下實例中我們使用泰凌B91開發(fā)板作為Central device來連接藍牙耳機,同時使用ellisys抓包器來抓取兩者發(fā)送的空中包,并對連接流程以及數(shù)據(jù)交換等行為進行分析。

de751c06-4954-11ef-b8af-92fbcf53809c.png

圖5.B91開發(fā)板

3

建立連接流程分析

首先,我們需要將抓包器開啟,然后使用我們的開發(fā)板與耳機進行配對,抓包器就會抓取到建立連接的整個流程,觀察抓到的空中包我們就會發(fā)現(xiàn)除了我們的設(shè)備發(fā)出的包還會有很多其它的包,這是因為往往我們生活環(huán)境中不只有一兩個藍牙設(shè)備,其它藍牙設(shè)備發(fā)出的包也會被抓包器抓取到,這將會對我們的分析造成一定的困難,這時我們就可以使用filter來篩選出我們想要的設(shè)備,如圖6所示,我們可以通過設(shè)備名稱和address來選出想要的設(shè)備,然后將其添加到左側(cè),點擊ok返回到主界面我們就可看到只剩下了選中設(shè)備發(fā)出或收到的包。

deb2cd8a-4954-11ef-b8af-92fbcf53809c.png

圖6.通過filter篩選出需要抓取的設(shè)備

接下來從空中包中找到paging連接從這里開始,如圖7所示,我們可以清晰地看到連接建立的全部流程,先通過page獲取到基礎(chǔ)的時鐘、設(shè)備名等信息,然后通過LMP去交換雙方的版本、特性、名字等,之后Central發(fā)起Host connection,Peripheral回復(fù)表示接受,最后雙方都發(fā)送Setup Complete表示連接正式建立。

dedbf85e-4954-11ef-b8af-92fbcf53809c.png

圖7.抓包器抓取到的連接流程

4

加密數(shù)據(jù)包分析

藍牙協(xié)議為了保證數(shù)據(jù)的安全加入了加密的能力,大部分?jǐn)?shù)據(jù)包都是在加密的情況下發(fā)送的,所以抓包器也為我們提供了解密的能力。找到上位機中的Security窗口,如果我們已經(jīng)抓到了一些連接的話,這里將會把它們顯示出來,如圖7所示,可見Key的位置為missing,因為藍牙是通過一個密鑰來加密的,抓包器作為第三方無法得知密鑰是什么,這就需要我們在開發(fā)過程中使用一些debug手段來獲取,這里我們使用Telink開發(fā)板的串口將link key打印出來,然后雙擊missing就會彈出一個輸入框,將獲取到的key輸入其中點擊ok就可以發(fā)現(xiàn)原本加密的空中包已經(jīng)可以看到真實的內(nèi)容了。

df08131c-4954-11ef-b8af-92fbcf53809c.png

圖8.Security窗口

df25e0ae-4954-11ef-b8af-92fbcf53809c.png

圖9.輸入link key進行解密

df3f5552-4954-11ef-b8af-92fbcf53809c.png

圖10.解密出來的空中包

5

通信頻點分析

由于生活中有大量設(shè)備使用著與藍牙相同的2.4G頻段,這都會對藍牙通信造成干擾,因此藍牙選擇使用跳頻技術(shù)來對抗干擾,抓包器也為我們提供了相應(yīng)的功能來讓我們可以直接看到一段時間內(nèi)空中各個頻段包的使用情況,這將極大地便利了我們對此類問題的分析。

同樣我們需要在上位機中找到對應(yīng)的窗口,這里使用的是Spectrum和Channels兩個窗口,前者可以直觀顯示空中所有頻點上的包在時序上的情況,而后者則是統(tǒng)計了各個頻點上的包數(shù)量以及丟包率等。如下圖所示,紅框圈住的地方是環(huán)境中WiFi的信號,而我們的藍牙為了提高通信質(zhì)量就將這一塊干擾嚴(yán)重的頻段避開了,從圖中可以看到這些頻點中的藍牙包數(shù)量非常的少。

df72acc2-4954-11ef-b8af-92fbcf53809c.png

圖11.Spectrum和Channels窗口

6

總結(jié)

抓包器的用途遠不止于此,它在經(jīng)典藍牙開發(fā)中扮演著至關(guān)重要的角色。精通抓包器的操作,不僅能幫助我們深入理解藍牙通信的細節(jié),還能顯著提高開發(fā)效率。因此,熟練掌握抓包器的使用方法對于藍牙開發(fā)者來說是非常寶貴的技能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 藍牙
    +關(guān)注

    關(guān)注

    114

    文章

    5723

    瀏覽量

    169075
  • 無線通信
    +關(guān)注

    關(guān)注

    58

    文章

    4450

    瀏覽量

    143275
  • 泰凌微
    +關(guān)注

    關(guān)注

    6

    文章

    142

    瀏覽量

    10755

原文標(biāo)題:【技術(shù)專欄】經(jīng)典藍牙抓包解析說明

文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    USB軟件分析工具之三:Wireshark-華山派華山劍法

    Wireshark雖然以以太網(wǎng)聞名于江湖,尤其是其分析能力,借助USBPcap其也在USB領(lǐng)域也占有一席之地。好比“以氣為體、以劍
    的頭像 發(fā)表于 05-02 21:41 ?3.2w次閱讀
    USB軟件<b class='flag-5'>抓</b><b class='flag-5'>包</b>分析工具之三:Wireshark-華山派華山劍法

    WIZnet芯片通訊時怎么?

    `Q:WIZnet芯片進行公網(wǎng)通訊或者芯片間通訊的話怎么?A:芯片和PC通訊的話可以直接通過Wireshark,如果芯片和公網(wǎng)直接通訊或者通訊是發(fā)生在芯片之間,則沒有辦法直接
    發(fā)表于 03-13 11:32

    Packet Sniffer遇到的問題

    ??????? 我用的是CCDebuger +CC2531 USB Dongle,按照TI官方文檔的順序進行,每次出來的數(shù)據(jù)基本上全都是錯的,按用戶指南說的是數(shù)據(jù)解析錯誤,但是具
    發(fā)表于 06-01 02:30

    請問藍牙USB Dongle是否可以藍牙2.0數(shù)據(jù)?

    各位社區(qū)朋友, 現(xiàn)在藍牙USB Dongle可以藍牙4.0數(shù)據(jù),是否可以2.0數(shù)據(jù)呢?
    發(fā)表于 09-26 10:32

    使用wireshark分析TCP及UDP的資料詳細說明

    本文檔的主要內(nèi)容詳細介紹的是使用wireshark分析TCP及UDP的資料詳細說明。
    發(fā)表于 05-09 17:36 ?27次下載
    使用wireshark<b class='flag-5'>抓</b><b class='flag-5'>包</b>分析TCP及UDP的資料詳細<b class='flag-5'>說明</b>

    USB數(shù)據(jù)軟件程序下載

    USB數(shù)據(jù)軟件程序下載
    發(fā)表于 09-09 16:01 ?7次下載

    MCU_Wireshark USB 過濾(特定端口地址)

    啟動WiresharkUSB的過程如下,這里點擊“開始”就可以進入界面了。不過,Wireshark啟動USB
    發(fā)表于 12-08 16:36 ?13次下載
    MCU_Wireshark USB <b class='flag-5'>抓</b><b class='flag-5'>包</b>過濾(<b class='flag-5'>抓</b>特定端口地址)

    ZigBee3.0數(shù)據(jù)解析

    ZigBee3.0是ZigBee聯(lián)盟推出的可以互聯(lián)互通的標(biāo)準(zhǔn)協(xié)議,用之前的Packet Sniffer包工具是無法解析ZigBee3.0的數(shù)據(jù),因ZigBee3.0的安全機制所有的數(shù)據(jù)
    發(fā)表于 02-28 11:48 ?2603次閱讀
    ZigBee3.0數(shù)據(jù)<b class='flag-5'>包</b><b class='flag-5'>解析</b>

    SRT協(xié)議的工作流程、數(shù)據(jù)結(jié)構(gòu)及Wireshark分析

    摘 要:本文從SRT協(xié)議的工作流程談起,著重介紹和解析了SRT協(xié)議的數(shù)據(jù)結(jié)構(gòu),并舉例說明如何利用Wireshark軟件進行鏈路故障分
    的頭像 發(fā)表于 05-17 10:08 ?3332次閱讀

    【RT-Thread學(xué)習(xí)筆記】好用高性價比的BLE藍牙

    作為基于藍牙協(xié)議的開發(fā)者,少不了各種需要分析藍牙報文的應(yīng)用場景;而專業(yè)的藍牙
    的頭像 發(fā)表于 07-30 11:45 ?2598次閱讀
    【RT-Thread學(xué)習(xí)筆記】好用高性價比的BLE<b class='flag-5'>藍牙</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>器

    藍牙包工具Ellisys—原來Debug這么容易

    在開發(fā)BLE的時候,市面上有多種包工具,對于多通道/多連接/藍牙Mesh 的開發(fā),往往需要一些更強大的工具,這里推薦使用Ellisys的藍牙
    的頭像 發(fā)表于 04-20 09:38 ?9926次閱讀

    基于樹莓派的藍牙協(xié)議

    前段時間嘗試用虛擬機安裝Ubuntu系統(tǒng)和一款軟硬件開源的藍牙器Ubertooth One來搭建藍牙嗅探環(huán)境,從官方推薦的Ubuntu16.04版本一直測試到22.04版本
    的頭像 發(fā)表于 07-04 17:11 ?788次閱讀
    基于樹莓派的<b class='flag-5'>藍牙</b>協(xié)議<b class='flag-5'>抓</b><b class='flag-5'>包</b>

    如何抓取app數(shù)據(jù) 網(wǎng)絡(luò)原理及實現(xiàn)

    要實現(xiàn)對App的網(wǎng)絡(luò)數(shù)據(jù),需要監(jiān)控App與服務(wù)器交互之間的網(wǎng)絡(luò)節(jié)點,監(jiān)控其中任意一個網(wǎng)絡(luò)節(jié)點(網(wǎng)卡),獲取所有經(jīng)過網(wǎng)卡中的數(shù)據(jù),對這些數(shù)據(jù)按照網(wǎng)絡(luò)協(xié)議進行解析,這就是
    發(fā)表于 08-11 09:30 ?2937次閱讀
    如何抓取app數(shù)據(jù)<b class='flag-5'>包</b> 網(wǎng)絡(luò)<b class='flag-5'>抓</b><b class='flag-5'>包</b>原理及實現(xiàn)

    如何利用eNSP進行實驗?

    使用Wireshark工具進行ping,并分析報文
    的頭像 發(fā)表于 09-12 09:32 ?3683次閱讀
    如何利用eNSP進行<b class='flag-5'>抓</b><b class='flag-5'>包</b>實驗?

    解析經(jīng)典藍牙設(shè)備連接過程

    應(yīng)用中,藍牙設(shè)備發(fā)現(xiàn)、連接、斷開等使用場景較為常見,其中設(shè)備連接是至關(guān)重要的一環(huán),它涵蓋了設(shè)備之間建立連接的整個過程。本文將對經(jīng)典藍牙設(shè)備連接過程進行解析,帶大家一起了解連接的整個過程
    的頭像 發(fā)表于 06-05 09:11 ?1635次閱讀
    <b class='flag-5'>解析</b><b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>設(shè)備連接過程