#背景 博主從事的是智能家居領域的網關研發工做。
因爲咱們的網絡是Zigbee,因此博主不得不學會抓包。
會抓包,這個很重要。作咱們這行不會抓包,就等同於電子工程師不會示波器、程序員不會GDB。程序員
#正題網絡
抓包器介紹
我司用的抓包軟件是Ubiqua,是花了重金買的。主界面以下: 工具
添加抓包器
首先,插上咱們的抓包器,博主爲 NXP 的 JN5168,用 FTDI 串口轉USB 的 Dangle。
點擊菜單欄:Device -> Add Device ... ,彈出設備添加框:
選 「NXP」,而後選重 "NXP FTDI Device",再點 「Add Device」,以下:
orm
設置信道
而後點擊設備上的開關按鈕便可。
圖片
正常狀況下,主界面就會出現大量的數據顯示:
其中以下顯示的,表示未解密包:
須要遇到 Transport Key 包方可解密。最簡單的方法就是入一個設備進網絡。ip
經常使用工具
在抓包器中一有些經常使用的工具:
ci
- 保存當前數據
- 滾動顯示
- 單包分解窗顯示最新包
- 清空全部
- 當前過濾器
- 啓用與關閉過濾器
- 新建過濾器
- 編輯當前過濾器
- 刪除過濾器
過濾器
過濾器是必要的,否則人眼受不了。it
新建過濾器
點擊(7)所示的按鈕,彈出以下框:
若是是Zigbee新手,用起來都比較麻煩。還有另外一種簡單的方法。
好比博主要抓 PANID=5FCC的包,即同一個網絡的數據包。 先選中一個數據包樣本。而後:
io
Zigbee包結構
ZCL包
以下爲ZCL包,開關的屬性報告:
Zigbee的協議不少與咱們以太網絡很像:form
不詳講,只想提一下幾點:
- PANID 在 MAC 層裏
- MAC層與NWK層都有Source Address 與 Destination Address,MAC層的是當前包的源地址與目標地址,而NWK的是指真正的源地址到目標地址。相似以太網的IP層與MAC層的關係
- Frame Information中有包的信息,包括信號強度
- Cluster id 是在 APS 層
##常見的數據包介紹 以下數據包:
- Management Permit Joining Request 開啓與關閉組網
- Beacon Request 請求信標
- Beacon 信標
- Acknowledgement (MAC) 點對點確認包
- Acknowledgement (NWK) 目標到源確認包
- Association Request 請求關聯
- Association Response 關聯回覆
- Transport Key 傳輸密鑰
- Device Announce 設備通告
- Active Endpoints Request 請求端點個數
- Active Endpoints Response 回覆端點個數
- Simple Descriptor Request 請求端點簡單描述
- Simple Descriptor Response 回覆端點簡單描述
- Data Request 終端結點向父結點獲取數據
- Bind Request 請求綁定
- Bind Response 回覆綁定
- Configure Reporting 配置屬性報告
- Configure Reporting Response 配置屬性報告回覆
- Read Attributes 讀屬性
- Read Attributes Response 讀屬性回覆
- Write Attributes 寫屬性
- Write Attributes Response 寫屬性回覆
- Report Attributes 屬性報告
結語
本文就到介紹到這裏,博主之後再一一介紹設備入網與控制的流程分析。