802.11數據包分析2:抓包工具(Omnipeek)
序言
前面我們介紹了一種輕量級的抓包工具「Microsoft Network Monitor」,不過這種輕量級抓包能夠抓取到的內容是有限的,為了抓取內容更多的數據包,所以我們需要採用一些專用的抓包網卡和對應軟體。在Windows環境下,如果直接用Wireshark抓包的話,需要配以Airpcap的專用網卡,價格比較貴。相比之下,Omnipeek支持的網卡,其性價比優勢比較高。
Omnipeek網卡選擇
Omnipeek支持的網卡比較多,不過具體購買抓包網卡的時候,最好還是參考下官方的驅動支持(具體可以參考Wireless Drivers and Supported APs for Packet Capture)以及一些別人實驗的結果。筆者試過D-Link DWA-160和ASUS USB-AC55這兩款網卡。D-Link DWA-160需要配合Omnipeek 7.5的版本,筆者實驗中,Omnipeek 10.0.1的版本無法識別出D-Link DWA-160,另外ASUS USB-AC55需要配合Omnipeek 10.0.1的版本。
如果採用DWA-160版本抓包卡的時候,還需要注意的是,該款網卡有幾種不同的版本:A1,A2,B1,B2。如上圖所示,網卡版本的信息會在網卡上面標明。目前能夠買到的全新的版本一般都是B2的版本,這個不一定能夠抓包,目前所知A1,A2版本的抓包問題都不大,筆者採用的是A1的版本。
Omnipeek安裝
Omnipeek軟體的安裝流程由於沒有太特殊的地方,所以我們直接省略。在Omnipeek 10.0.1版本安裝中,有可能會報個錯,如果過不了Ignore即可。
筆者在網上找到的軟體源文件如下,不知道目前還可不可以下載。Omnipeek 7.5,Omnipeek 10.0.1 part 1,Omnipeek 10.0.1 part 2。
如果直接安裝完成後,打開Omnipeek是無法發現無線介面的,如下圖(以下截圖我們以Omnipeek 7.5為例)
如果這裡直接選擇無線網卡進行抓包的話,那麼抓到的都是頭部為Ethernet Type 2的數據幀,而不是IEEE 802.11的頭部,即本地已經做過無線幀的轉換了。
這裡是由於我們安裝Omnipeek針對抓包網卡的特定驅動,所以其無法識別出我們專用的抓包卡,所以我們這裡要重新安裝驅動。即按照 開始菜單 -> 計算機(右鍵) -> 屬性 -> 設備管理器 -> 網路適配器,找到對應的無線網卡,比如D-Link DWA-160如下
雙擊後選擇驅動程序,然後直接卸載驅動。因為比如系統默認自帶的,或者驅動助手之類安裝的驅動都比較新,所以無法通過更新驅動程序的形式,重新安裝驅動。
卸載的時候,注意需要將此設備的驅動程序軟體一併卸載。
卸載之後,回到設備管理器,選擇掃描檢測硬體改動
這樣就會發現一個新的沒有驅動的網卡了,筆者這裡顯示是
選擇瀏覽計算機手動指定目錄
對應D-Link DWA-160的網卡驅動具體在以下的目錄中,選擇的時候根據個人具體情況,選擇x86或者x86_64。注意不要直接選擇圖中紅色方框Atheros_USB_3.0的目錄,需要具體到下面兩個文件夾中的一個,否則會驅動安裝錯誤。
最後驅動安裝成功後,我們重新打開Omnipeek,就可以看到D-Link DWA-160無線網卡了,如下:
Omnipeek抓包流程
由於Omnipeek默認直接是在混雜模式下,不需要額外的設置,抓包流程就相對比較簡單。
一開始新創建一個抓包記錄(New Capture)
在Adapter下面選擇安裝好的抓包網卡(如下圖無線網路連接 5)
在802.11中,可以選擇信道,是單個信道還是掃描的形式,這個和NM裡面是基本相同的。由於默認抓包是混雜模式,本地沒有關聯到任意AP上,所以抓到的包都是加密的,所以需要希望解密數據包,就需要設置Encryption了。這裡可以現在就設置,也可以抓到數據包以後,在進行解密。
如果點擊Edit Key Sets,那麼我們就可以新建一個Key Set,由於我們常用的是WAP2 PSK加密的模式,所以這裡預先設置好秘鑰就行了。在具體使用過程中,具體解密還需要在抓包記錄中包含了EAPOL 4次握手的過程,這裡就不進行展開了。
前面的基本選定好,點擊右上方Start Capture就可抓包了
就可以看到很多數據包被抓到了
具體解析的數據幀如下
由於本文我們主要關心的是用Omnipeek來抓取無線數據幀,其他的一些Omnipeek的分析功能(如下圖的紅色部分),本文我們就不展開了。
本文為原創文章,如需轉載須註明出處和原文鏈接。
歡迎大家關注我們的微信公眾號:無線技術大講堂,請搜索公眾號(must_wireless)。
推薦閱讀: