從事WiFi嵌入式軟件開發的同窗,802.11協議層抓包分析是一個須要熟練掌握的一個技能,須要經過分析WiFi底層802.11協議層的數據包來定位問題。同時從學習802.11協議的角度而言,最有效的學習方法就是經過抓包來學習,從抓到的數據包中,能夠驗證以前理論學習部分的知識,經過對數據包的理解,不只能夠加深對802.11協議的理解,還能提升本身在實際使用中問題分析、解決能力。網絡
因爲要抓到802.11協議層的數據包須要無線網絡進入混雜模式,在不一樣的操做系統下須要不一樣的軟硬件配合才能實現,本文分3部分依次介紹:工具
在不一樣操做系統下實現802.11數據包捕獲分析。學習
嵌入式開發工程師開發環境通用使用Windows,因爲Windows下不少專業的抓包工具都須要特定的無線網卡和驅動支持纔可實現混雜模式802.11數據捕獲。在某些場景下,這些專業的抓包工具不必定會隨身攜帶。因此先介紹一個Windows下Microsoft官方提供的輕量型的抓包工具Microsoft Network Monitor。測試
Microsoft Network Monitor是Microsoft官方提供的一款免費網絡協議數據分析工具,不只能夠抓包,並且能夠基於抓包結果作一些簡單的數據分析。Microsoft Network Monitor當前最新版本爲3.4,同時支持32位和64位系統,可在Microsoft官方免費下載,下載地址爲:https://www.microsoft.com/en-us/download/details.aspx?id=4865。我使用的系統是Win1064位系統,電腦自帶的網卡驅動不支持混雜模式,測試發現外接了360USBWiFi可實現混雜模式_。_spa
軟件安裝過程較簡單,沒有須要特別注意的地方。須要注意的是,安裝完成後須要從新啓動一下電腦,不然軟件可能沒法正確顯示當前網絡列表。操作系統
以管理員身份運行Microsoft Network Monitor 3.4,在「Select Networks」中會正確顯示當前所有網卡,能夠經過Friendly Name和Description找到咱們要抓包的網卡。ip
Microsoft Network Monitor 默認是「Local Mode」,該模式下軟件只能捕獲當前選中的網卡收發的數據,是沒法捕獲到沒有通過該網卡的數據的。路由
咱們在WiFi開發過程當中定位問題一般須要經過無線網卡,捕獲路由器與其餘WiFi設備之間通信的數據,普通模式下軟件並無捕獲到。Microsoft Network Monitor支持無線網卡進入「Monitor Mode」,該模式即爲混雜模式,此時可捕獲路由器與其餘WiFi設備之間的通信數據包。開發
從實際使用中發現,Microsoft Network Monitor功能沒法與「wireshark」、「Omnipeek」等專業抓包軟件相媲美,可是能知足平常基本的802.11數據包捕獲、802.11協議學習。上手快,受限也較少,更多功能也須要在使用在不斷髮掘。rem