無線感測網路截取ZigBee/802.15.4封包 分析工具實作 張豈嘉、吳坤熹
研究背景 無線感測網路逐漸盛行 醫療照護 區域監測 居家控制 老人健康監測 空氣污染監測 生態環境監控 智慧型電表 AMR(Automated Meter Reading) AMI(Advanced Metering Infrastructure)
研究背景 提升無線感測網路中的傳輸品質、增進保密資料的安全、排除網路故障的問題等議題越來越顯重要。
硬體比較 硬體產品 封包分析軟體 裝置韌體需求 參考價格 Freescale─Sniffer USB Dongle Daintree (2010/3/31止) 不須更改韌體 USD 100 Exegin─Q51 PANalyzer Wireshark (自由軟體) 500 Atmel─ AVR Microcontrollers 需燒錄韌體另購燒錄配件 200 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
硬體比較 Wireshark的是一套在GNU GPL通用許可證的保障範圍底下,使用者可以以免費的代價取得這套軟體]與其程式碼,並擁有針對其原始碼修改及客製化的權利以及分享修改製作後成果的義務。因此,Wireshark是目前全世界最廣泛的網路封包分析軟體之一。 Wireshark支援了多種作業系統,在Windows、 UNIX、MAC…下都有相對應的版本。
Wireshark架構 User Interface Protocol Analyzer PCAP Device Interface User/GUI Interface LibPcap Network Card Capture Core Protocol Interpreter Display filters Build-in Dissector Plug-in Dissector Wiretap Pacp File
研究方法 Wireshark Virtual Interface ZigBee USB Dongle 網路協定分析自由軟體, 可分析IEEE802.15.4 虛擬網路卡設備裝置, 使wireshark可以透過Virtual Interface 接收Dongle的ZigBee/802.15.4封包 用於擷取IEEE802.15.4封包
軟體架構
Capture ZigBee data 在Freescale硬體架構下,資料格式依照其規則,以Struct、Serial、Binascii等API來定義函式及物件。 ZTC(ZigBee Test Client)為Freescale所制定的架構,其架構與ZigBee Alliance架構對照如下
Capture ZigBee data ZTC中Generic Frame Format格式
Capture ZigBee data ZTC中Generic Frame Format格式
Packet capture library Libpcap中Netgroup Packet Filter(NPF)是主要核心,它提供內部控制的”資料結構(Data Structure)”與”定義(define)” 引入Wireshark CaptureSetup/pipes的概念,它是透過緩衝進程之間的通信,串起兩個進程間的交流,透過一個進程傳輸資料給它,另外一個進程讀取它的資料 Application User level NPF Kernel level Packets Network level
User option 這部分主要提供使用者,可以依照所需分析的目標物之ZigBee/802.15.4通道不同,做適當的選擇及調整。
實作成果 實驗平台: 筆記型電腦, Freescale USB Sniffer Dongle 系統:Windows XP, 驅動程式:VCP(Virtual COM Port) Driver Freescale USB Sniffer Dongle ZTC: ZTC is a Freescale proprietary application that allows for monitoring and exercising of the various protocol layers which comprise the various IEEE®802.15.4 based protocols 通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter,通常稱作UART)是一種非同步收發傳輸器,是電腦硬體的一部分,將資料由串列傳輸(Serial communication)與平行傳輸(Parallel communication)間作傳輸轉換。UART通常用在與其他通訊介面(如EIA RS-232)的連結上。
結論與結果 分析ZigBee/802.15.4封包步驟 插入Freescale USB Sniffer Dongle 開啟Sniffer_Adapter 開啟Wireshark