支援 ZigBee/802.15.4 封包分析之 USB封包擷取轉換模組之實作 張豈嘉
大綱摘要 研究背景 現有硬體比較 系統架構及相關技術 結論與展望 實作演示 “Mobile adapter for ZigBee (MAZ)”的系統需求 系統架構及相關技術 結論與展望 實作演示
研究背景 無線感測網路逐漸盛行 醫療照護 區域監測 居家控制 區域監測:地震火山研究,國道三號走山事件 老人、慢性病患者健康監測 空氣污染監測 生態環境監控 居家控制 智慧電網 AMR(Automated Meter Reading) AMI(Advanced Metering Infrastructure) 區域監測:地震火山研究,國道三號走山事件
除錯工具 提升無線感測網路中的傳輸品質、排除網路故障的問題等議題越來越顯重要。
硬體比較 硬體產品 封包分析軟體 裝置韌體需求 參考價格 Atmel─ AVRRZ541 AVR Z-Link 2.4 GHz Packet Sniffer Kit 802.15.4 MAC ─ Microship─ ZENA Network Analyzer ZENA™ Packet Sniffer BzWorks ─ WiSens Packet sniffer WiSens® Classic sniffer software Texas Instruments─ CC2531 TI Packet Sniffer Atmel─ AVR Microcontrollers Wireshark (自由軟體) 需燒錄韌體另購燒錄配件 USD 200 Exegin─Q51 PANalyzer 不須更改韌體 500 Freescale─Sniffer USB Dongle Daintree (2010/3/31止) 依照原始韌體進行開發 100 依照封包分析軟體區分 1~4: 5,6除了1~4採用各自發展的分析軟體外,其他採用wireshark 而Atmel需要更改燒錄韌體 因此採用價格較低,並且依照原始韌體進行開發, (不須更改韌體方便使用) Daintree停止提供,因此採用wireshark
實體比較
Wireshark Wireshark是目前全世界最廣泛的網路封包分析軟體之一,是盛名的網路除錯工具。 ` Wireshark是目前全世界最廣泛的網路封包分析軟體之一,是盛名的網路除錯工具。 支援多種作業系統,在Windows、 UNIX、MAC…下都有相對應的版本。 因其為Open Source軟體,使用者可以加以原始碼並且需分享修改製作後成果。 直觀的視窗圖形介面,易於操作。
Wireshark架構與研究需求 Wireshark軟體核心三大部分: 使用者介面(User Interface)協定分析(Protocol Analyzer) -為Wireshark的主體核心 封包擷取(Packet Capture) -透過libpcap/WinPcap 虛擬網路卡設備裝置 使wireshark可以透過 Virtual Interface-MAZ 接收USB Sniffer Dongle的ZigBee/802.15.4封包 User Interface User/GUI Interface libpcap Capture Core Protocol Interpreter Display filters Build-in Dissector Plug-in Dissector Wiretap Pcap File Protocol Analyzer 動畫處理 結合下頁 PCAP Wireshark硬體需求部分 裝置介面(Device Interface) Virtual Interface-MAZ USB Sniffer Dongle ??? Device Interface USB Sniffer Dongle Network Interface Card
Virtual Interface軟體架構 改最後一個塗
Capture ZigBee data 在Freescale硬體架構下,資料格式需依照其規則,制定類別,而不同於一般USB或RS-232之函式庫,如下列規範 ZTC(ZigBee Test Client)為Freescale所制定的架構,其架構與ZigBee Alliance架構對照如下 通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter,UART)負責以串聯的方式建立兩裝置間連線,也能與的ZTC相互進行資料的傳遞溝通ex:Usb rs232
Data format ZTC中Data Format格式 作碼群組(Opcode group) 操作碼(Opcode) 數據欄位長度(Length)
Generic frame format ZTC中Generic Frame Format格式 用於資料位元同步之同步位元組(Sync byte)和用於檢查錯誤之查核位元(FCS)
Packet capture library Libpcap中Netgroup Packet Filter(NPF)是主要核心,它提供內部控制的”資料結構(Data Structure)”與”定義(define)” 引入Wireshark CaptureSetup/pipes的概念,它是透過緩衝進程之間的通信,串起兩個進程間的交流,透過一個進程傳輸資料給它,另外一個進程讀取它的資料。 Application User level NPF Kernel level Packets Network level
User/GUI Interface 這部分主要提供使用者,可以依照所需分析的目標物之ZigBee/802.15.4通道不同,做適當的選擇及調整。 channel
結論與展望 此工具可以應用的範圍十分廣泛。藉由科學化的除錯,能夠使無線感測網路的發展更加快速。 這項工具可輕易的擷取到電表的封包,加以分析後,將可清楚的知道各項封包的含意,若有心人士竄改封包數據後轉發,則影響可能相當嚴重。 因此工具的開發後,更突顯出無線感測網路安全性的重要。
實作平台 硬體 軟體、韌體及說明 筆記型電腦 ASUS A8Series Windows XP作業系統 VCP驅動程式 封包擷取設備 Freescale USB Sniffer Dongle 無須更改燒錄韌體,並插入筆記型電腦USB插槽 開發程式 ─ 將Mobile adapter for ZigBee (MAZ)程式儲存於筆記型電腦
研究成果展示 分析ZigBee/802.15.4封包步驟 插入Freescale USB Sniffer Dongle 開啟Mobile Adapter for ZigBee 開啟Wireshark