無線感測網路截取ZigBee/802.15.4封包 分析工具實作 研究生:張豈嘉
Outline 研究背景 現有硬體比較 系統架構及相關技術 實作演示 結論與展望 “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
硬體比較 Wireshark的是一套在GNU GPL通用許可證的保障範圍底下,使用者可以以免費的代價取得這套軟體]與其程式碼,並擁有針對其原始碼修改及客製化的權利以及分享修改製作後成果的義務。因此,Wireshark是目前全世界最廣泛的網路封包分析軟體之一。 Wireshark支援了多種作業系統,在Windows、 UNIX、MAC…下都有相對應的版本。
Wireshark Wireshark是目前全世界最廣泛的網路封包分析軟體之一,是盛名的網路除錯工具。 支援多種作業系統,在Windows、 UNIX、MAC…下都有相對應的版本。使用者可以以免費的代價取得這套軟體與其程式碼,並擁有針對其原始碼修改及客製化的權利以及分享修改製作後成果的義務。 其以直觀的圖形介面,易於操作。
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 Card
Virtual Interface軟體架構 改最後一個塗
Capture ZigBee data 在Freescale硬體架構下,資料格式需依照其規則,制定類別,而不同於一般USB或RS-232之函式庫,如下列規範 ZTC(ZigBee Test Client)為Freescale所制定的架構,其架構與ZigBee Alliance架構對照如下 Usb rs232
ZTC Data format ZTC中Data Format格式 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)的連結上。
Generic frame format 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/GUI Interface 這部分主要提供使用者,可以依照所需分析的目標物之ZigBee/802.15.4通道不同,做適當的選擇及調整。 channel
實作平台 實驗平台: 筆記型電腦, 系統:Windows XP, 驅動程式:VCP(Virtual COM Port) Driver Freescale USB Sniffer Dongle Mobile adapter for ZigBee (MAZ) 以python2.7程式語言所撰寫 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
結論與展望 這項工具可以應用的範圍十分廣泛。希望藉由科學化的除錯,能夠使無線感測網路的發展更加快速。 以這項工具可輕易的擷取到電表的封包,加以分析後,將可清楚的知道各項封包的含意,若有心人士竄改封包數據後轉發,則影響可能相當嚴重。 因此工具的開發後,更突顯出無線感測網路安全性的重要。