一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),包括嵌入式硬件平臺以及基于所述嵌入式硬件平臺的嵌入式操作系統(tǒng)模塊、應(yīng)用平臺模塊,所述嵌入式硬件平臺包括嵌入式主板和無線網(wǎng)卡模塊,所述無線網(wǎng)卡模塊具體包括順次相連接的網(wǎng)絡(luò)接口控制器、基帶處理器、中頻處理單元、射頻處理單元、收發(fā)轉(zhuǎn)換模塊和天線。本發(fā)明實現(xiàn)了以模塊化架構(gòu)為主體的系統(tǒng)框架,以低功率高性能的arm嵌入式平臺為基礎(chǔ)的硬件平臺,以定制的安全嵌入式Linux操作系統(tǒng)為骨干的軟件平臺,并結(jié)合采用優(yōu)化無線網(wǎng)絡(luò)驅(qū)動、并發(fā)多線程實時監(jiān)控、多模式無線安全檢測等技術(shù),有效解決了設(shè)備小型化、可移動性與低功耗方面的難題,同時通過多種創(chuàng)新性技術(shù)實現(xiàn)了完善的無線檢測功能。
【專利說明】一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明公開了 一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),涉及無線通訊【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,無線網(wǎng)絡(luò)的發(fā)展和應(yīng)用越來越普及,現(xiàn)實生活中人們 的周圍隨處可以接觸到各式各樣的無線網(wǎng)絡(luò)通訊。與之相對應(yīng)的,無線網(wǎng)絡(luò)通訊的安全也 越來越受到關(guān)注。為了確保網(wǎng)絡(luò)通訊的安全,必不可少的要涉及到網(wǎng)絡(luò)監(jiān)測系統(tǒng)。無線網(wǎng) 絡(luò)和傳統(tǒng)以太網(wǎng)相比,有不同也有相似之處。無線局域網(wǎng)的信號傳遞完全是以無線電的方 式進(jìn)行廣播傳輸?shù)?,這也就意味著每個人可以一定的裝置來對無線信號進(jìn)行接收并進(jìn)行破 解,因此無線局域網(wǎng)相對于有線網(wǎng)絡(luò)來說更加的不安全。
[0003] 無線局域網(wǎng)的標(biāo)準(zhǔn)主要包括IEEE802. 11系列、藍(lán)牙等,目前市場上大部分無線產(chǎn) 品都遵循802. 11協(xié)議,其主要對WLAN的物理層和數(shù)據(jù)鏈路層做了規(guī)定,保證各廠商的產(chǎn)品 在同一物理層上可以互操作,數(shù)據(jù)鏈路控制層是一致的。1999年、2000年,2003年,IEEE公 布了 802. llb、802. 11a和802. 119標(biāo)準(zhǔn),工作在2. 4G、5. 8G的頻段上,數(shù)據(jù)傳輸數(shù)率分別為 1Mbps和54Mbps,最大調(diào)頻傳輸速率可達(dá)到108Mbps,IEEE802. lib和802. lip是現(xiàn)在最普 及的兩個無線協(xié)議標(biāo)準(zhǔn),兩者都屬于802. 11協(xié)議族,但是在PHY層和MAC層均有所不同。
[0004] 無線局域網(wǎng)的物理組成或物理結(jié)構(gòu)由站(Station, SAT),無線介質(zhì)(Wireless Medium,WM),基站(Basic Station,BS)或接入點(diǎn)(Access Point,AP)和分布式系 統(tǒng)(Distribution System, DS)等幾部分組成。站(點(diǎn))也稱為主機(jī)(Host)或終端 (Terminal),是無線局域網(wǎng)的最基本的組成單元,無線網(wǎng)絡(luò)就是進(jìn)行站間的數(shù)據(jù)傳輸?shù)模?連接在無線局域網(wǎng)中的設(shè)備稱為站。在WLAN中,帶有無線網(wǎng)卡的計算機(jī),掌上電腦等設(shè)備 都可以稱之為站。無線介質(zhì)是無線局域網(wǎng)中站與站之間、站與接入點(diǎn)之間的通信的傳輸介 質(zhì)。AP可以看成是一個無線Hub,它的作用是提供工作站(TSA)和現(xiàn)有骨干網(wǎng)絡(luò)之間的橋 接。
[0005] -個基本服務(wù)區(qū)(Basic Service Area, BSA)所能覆蓋的區(qū)域受到環(huán)境和主機(jī) 收發(fā)信機(jī)特性的限制,為了覆蓋更大的區(qū)域,就需要通過一個分布式系統(tǒng)(Distribution system, DS)把多個BSA連接起來,形成一個擴(kuò)展業(yè)務(wù)區(qū)(Extended Service Area, ESA),從 而構(gòu)成了一個多小區(qū)無線局域網(wǎng)(Extended Service Set, ESS)實現(xiàn)了不同BSS內(nèi)的站點(diǎn) 之間的相互通信。
[0006] WiFi是現(xiàn)有技術(shù)中,使用范圍最廣的一種無線網(wǎng)絡(luò)結(jié)構(gòu),802. lln協(xié)議的規(guī)定了 WiFi的基本網(wǎng)絡(luò)結(jié)構(gòu)包括物理層、介質(zhì)訪問接入控制層(MAC層)及邏輯鏈路控制層(LLC 層)。其中,物理層定義了網(wǎng)絡(luò)設(shè)備之間進(jìn)行實際連接時的電氣特性,該層直接與傳輸介質(zhì) 相連接,并且向上服務(wù)于數(shù)據(jù)鏈路層。它在各數(shù)據(jù)鏈路實體之間提供所需的物理連接,按特 定的順序傳輸數(shù)據(jù)位和進(jìn)行差錯檢查,一旦發(fā)現(xiàn)錯誤,立即向數(shù)據(jù)鏈路層報告。從上圖可以 看出,WiFi協(xié)議標(biāo)準(zhǔn)IEEE802. lib工作在2. 4GHz頻段,主要用到HISS、DSSS和IR等關(guān)鍵 技術(shù);標(biāo)準(zhǔn)IEEE802. 11a工作在5GHz頻段,主要用到0FDM技術(shù);IEEE802. llg工作在5GHz 頻段,主要用到DSSS/OFDM技術(shù)。
[0007] 數(shù)據(jù)鏈路層最基本的服務(wù)是將本機(jī)網(wǎng)絡(luò)層的數(shù)據(jù)無差錯地傳輸?shù)较噜徆?jié)點(diǎn)的網(wǎng) 絡(luò)層,主要功能有:將數(shù)據(jù)組合成數(shù)據(jù)塊;控制幀在物理信道上的傳輸;幀同步功能;差錯 控制功能;流量控制功能和鏈路管理功能。IEEE802. lib標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)鏈路層的MAC子層 使用載波偵聽多路訪問/沖突避免(CSMA/CA,Carrier Sense Multiple Access/Collision Avoidance)訪問控制協(xié)議來實現(xiàn)沖突檢測和避免。
[0008] WiFi無線上網(wǎng)原理如下:WiFi終端與其有效范圍內(nèi)的AP建立連接,AP通過有線 局域網(wǎng)絡(luò)連接到交換機(jī),交換機(jī)經(jīng)由網(wǎng)關(guān)連接到互聯(lián)網(wǎng)上,從而實現(xiàn)了 WiFi無線上網(wǎng)。AP 每100ms將服務(wù)單元標(biāo)識(Service Set Identifier, SSID)經(jīng)由信號臺(beacons)封包廣 播一次,信號有效范圍內(nèi)的WiFi終端收到這個廣播后,選擇是否和這一個SSID的AP建立 連接。由于信號臺封包的傳輸速度和長度都很短,所以這個廣播動作沒有對網(wǎng)絡(luò)的性能產(chǎn) 生多大的影響,而且可以確保信號有效范圍內(nèi)所有的WiFi終端都能收到這個廣播封包。如 果某個WiFi終端的有效信號范圍內(nèi)有多個AP,那么它將收到多個不同的SSID封包廣播,這 時可以選擇其中信號好的AP來建立連接。
[0009] 當(dāng)一個STA進(jìn)入無線網(wǎng)絡(luò)時,其首先要做的是尋找到自己想要加入的網(wǎng)絡(luò),對于 802. 11設(shè)備尋找無線網(wǎng)絡(luò)的過程,IEEE802. 11MAC使用掃描功能來完成網(wǎng)絡(luò)的發(fā)現(xiàn),其分 為被動掃描(passiveScanning)和主動掃描(Activescanning),當(dāng)處于以下兩種情況時會 發(fā)起掃描:1、尋找和加入一個網(wǎng)絡(luò);2、當(dāng)STA漫游時尋找一個新的AP。
[0010] 結(jié)合前面部分對探測、鑒權(quán)與關(guān)聯(lián)的分析,當(dāng)一個STA進(jìn)入一個802. 11無線局域 網(wǎng)覆蓋范圍時,它必須請求與AP建立連接。STA和AP關(guān)聯(lián)過程可以通過以下幾個步驟來描 述:
[0011] 1、掃描(主動或被動);2、站點(diǎn)向AP發(fā)起探測巾貞請求;3、AP發(fā)出探測響應(yīng);4、站點(diǎn) 向AP發(fā)起認(rèn)證請求;5、AP無線設(shè)備端會隨機(jī)產(chǎn)生一個Challenge包(一個字符串)發(fā)送 給站點(diǎn);6、站點(diǎn)會將接收到Challenge加密后再發(fā)送給無線設(shè)備端;7、無線設(shè)備端接收到 該消息后,對該消息進(jìn)行解密,然后對解密后的字符串和原始字符串進(jìn)行比較。如果相同, 則說明站點(diǎn)通過了 SharedKey鏈路認(rèn)證;否則SharedKey鏈路認(rèn)證失??;8、站點(diǎn)向AP發(fā)起 關(guān)聯(lián)請求;9、AP向站點(diǎn)的響應(yīng)關(guān)聯(lián)請求。
[0012] 被動掃描通過偵聽AP定期發(fā)送的Beaeon幀來發(fā)現(xiàn)網(wǎng)絡(luò),Beaeon幀中包含該AP 所屬的BSS的基本信息以及AP的基本信息,包括:BSSID(AP的MAC地址)、SSID、支持的速 率、支持的認(rèn)證方式,加密算法、Beaeon幀發(fā)送間隔,使用的信道等。當(dāng)未發(fā)現(xiàn)包含期望的 SSID的BSS時,STA可以工作于主動掃描狀態(tài)。進(jìn)行主動掃描時在每個信道上發(fā)送探測報 文,從探測請求包中獲取BSS的基本信息,探測報文中包含的信息和Beaeon幀類似。
[0013] 現(xiàn)有技術(shù)中通常的無線網(wǎng)卡都不支持Monitor模式,少數(shù)具備monitor模式的無 線網(wǎng)卡上,無線數(shù)據(jù)采集的性能問題也是通常無法處理的一個問題,其性能影響因素主要 有兩方面:首先,在傳統(tǒng)報文處理過程中,在核心態(tài)里進(jìn)行了多次的內(nèi)存操作,比如數(shù)據(jù)報 頭校驗、控制順序等;其次,數(shù)據(jù)報文從內(nèi)核態(tài)向用戶態(tài)傳送的時候,是用單個報文中斷驅(qū) 動機(jī)制,也就是說應(yīng)用層每次系統(tǒng)調(diào)用只從內(nèi)核讀出一個數(shù)據(jù)報文,在原始報文捕獲里,當(dāng) 應(yīng)用層想從網(wǎng)卡獲得數(shù)據(jù)報文時需要經(jīng)過兩個緩沖區(qū)并進(jìn)行多次復(fù)制操作。
[0014] 要對無線局域網(wǎng)進(jìn)行有效的檢測,那么就必須將捕獲的無線網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行重組 分析,將其恢復(fù)為應(yīng)用層數(shù)據(jù),這一處理過程是設(shè)備實現(xiàn)中的重要環(huán)節(jié)。設(shè)備要基于大量無 線網(wǎng)絡(luò)數(shù)據(jù)包,依據(jù)協(xié)議定義按照協(xié)議從底層到上層對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行重組,并恢復(fù)出上 層應(yīng)用協(xié)議,從而獲取基于應(yīng)用層協(xié)議記錄。但在具體實現(xiàn)中基于Libpcap函數(shù)向上層提 交的是無線網(wǎng)絡(luò)原始數(shù)據(jù)包,那么所設(shè)計的基于Libpcap的設(shè)備就必須根據(jù)上下文來進(jìn)行 分析工作,但由于目前的無線網(wǎng)絡(luò)帶寬日益提高,而如何有效進(jìn)行高效快速的無線數(shù)據(jù)的 分析是實現(xiàn)中遇到的難題之一。
[0015] 對于無線局域網(wǎng)進(jìn)行檢測,目前有主動掃描與被動掃描兩種模式,兩種方案都可 以實現(xiàn)對于無線局域網(wǎng)接入點(diǎn)的檢測,但通常的無線設(shè)備無法同時應(yīng)用這兩種模式來實現(xiàn) 實時無線局域網(wǎng)檢測,從而造成了檢測效率的降低與檢測時間的延遲。如何解決實際檢測 中對于進(jìn)行無線局域網(wǎng)高效實時的檢測,也是現(xiàn)有技術(shù)中難以解決的問題。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明所要解決的技術(shù)問題是:針對現(xiàn)有技術(shù)的缺陷,提供一種便攜式無線網(wǎng)絡(luò) 探測取證系統(tǒng),針對實際的應(yīng)用環(huán)境,設(shè)計出基于嵌入式平臺的無線局域網(wǎng)安全檢測的方 法,并且實現(xiàn)了以模塊化架構(gòu)為主體的系統(tǒng)框架,以低功率高性能的arm嵌入式平臺為基 礎(chǔ)的硬件平臺,以定制的安全嵌入式Linux操作系統(tǒng)為骨干的軟件平臺,并結(jié)合采用優(yōu)化 無線網(wǎng)絡(luò)驅(qū)動、并發(fā)多線程實時監(jiān)控、多模式無線安全檢測等技術(shù),有效解決了設(shè)備小型 化、可移動性與低功耗方面的難題,同時通過多種創(chuàng)新性技術(shù)實現(xiàn)了完善的無線檢測功能。
[0017] 本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
[0018] 一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),包括嵌入式硬件平臺以及基于所述嵌入式硬 件平臺的嵌入式操作系統(tǒng)模塊、應(yīng)用平臺模塊,其中:
[0019] 所述嵌入式硬件平臺包括嵌入式主板和無線網(wǎng)卡模塊,所述無線網(wǎng)卡模塊具體包 括順次相連接的網(wǎng)絡(luò)接口控制器、基帶處理器、中頻處理單元、射頻處理單元、收發(fā)轉(zhuǎn)換模 塊和天線,所述網(wǎng)絡(luò)接口控制器還經(jīng)過總線接口和所述嵌入式主板相連接;
[0020] 網(wǎng)絡(luò)接口控制器實現(xiàn)IEEE802. 11規(guī)范的MAC層功能,負(fù)責(zé)接入控制,當(dāng)發(fā)送數(shù)據(jù) 時,網(wǎng)絡(luò)接口控制器負(fù)責(zé)接收發(fā)送的數(shù)據(jù),按照IEEE802. Η協(xié)議封裝相應(yīng)的幀格式,再根據(jù) CSMA/CD協(xié)議將數(shù)據(jù)幀發(fā)送到無線信道中去;當(dāng)接收數(shù)據(jù)時,網(wǎng)絡(luò)接口控制器根據(jù)接收到 得幀結(jié)構(gòu)的目的地址判斷是否是發(fā)往本系統(tǒng)的數(shù)據(jù),如果是則接收該幀信息,并進(jìn)行循環(huán) 冗余校驗,去掉幀頭,把數(shù)據(jù)提交給計算機(jī);
[0021] 所述基帶處理器、中頻處理單元、射頻處理單元構(gòu)成無線收發(fā)信機(jī),用以實現(xiàn)物理 層的功能,并與網(wǎng)絡(luò)接口控制器進(jìn)行數(shù)據(jù)交換;
[0022] 所述嵌入式操作系統(tǒng)模塊設(shè)置于嵌入式主板內(nèi),在嵌入式操作系統(tǒng)模塊中還設(shè)置 有管理模塊和無線網(wǎng)卡驅(qū)動模塊;所述無線網(wǎng)卡驅(qū)動模塊通過對無線網(wǎng)卡進(jìn)行驅(qū)動定制, 完成無線網(wǎng)卡的monitor模式實現(xiàn);
[0023] 所述應(yīng)用平臺模塊包括無線數(shù)據(jù)捕獲模塊、無線協(xié)議分析模塊和并行檢測監(jiān)控模 塊,其中,所述無線數(shù)據(jù)包捕獲模塊進(jìn)行無線數(shù)據(jù)采集;無線協(xié)議分析模塊對無線網(wǎng)絡(luò)數(shù)據(jù) 包進(jìn)行重組分析,將其恢復(fù)為應(yīng)用層數(shù)據(jù);并行檢測監(jiān)控模塊通過主動掃描與被動掃描相 結(jié)合的模式,進(jìn)行無線局域網(wǎng)接入點(diǎn)的檢測。
[0024] 作為本發(fā)明的進(jìn)一步優(yōu)選方案,所述嵌入式主板為Marvell88F6281 ;所述無線網(wǎng) 卡模塊的主芯片型號具體為ather〇S9280 ;所述天線的具體型號為5dBi高天線增益。
[0025] 本發(fā)明中,嵌入式操作系統(tǒng)模塊采用Open Wrt嵌入式Linux操作系統(tǒng);其中,所述 管理模塊為Luci web模塊,具體包括Lua組件和UCI組件。
[0026] 本發(fā)明采用ar9280主芯片的無線網(wǎng)絡(luò)驅(qū)動程序在數(shù)據(jù)收發(fā)過程實現(xiàn)數(shù)據(jù)中轉(zhuǎn), 接收上層用戶應(yīng)用程序的數(shù)據(jù)流,通過SPI 口轉(zhuǎn)發(fā)到Wifi硬件,或響應(yīng)Wifi硬件中斷,從硬 件緩沖區(qū)讀取數(shù)據(jù)流,通過驅(qū)動程序注冊的接口函數(shù)發(fā)送到上層應(yīng)用程序;
[0027] 數(shù)據(jù)接收過程為:網(wǎng)絡(luò)設(shè)備收到數(shù)據(jù)后會產(chǎn)生一個中斷,中斷處理程序讀取當(dāng)前 狀態(tài)寄存器,判斷出數(shù)據(jù)接收狀態(tài),申請一塊緩沖區(qū),再將Wifi硬件中的網(wǎng)絡(luò)數(shù)據(jù)包讀取到 該緩沖區(qū),并添加到接收數(shù)據(jù)隊列;從硬件成功讀取數(shù)據(jù)后,處理接收到的數(shù)據(jù)包,再將其 轉(zhuǎn)發(fā)到協(xié)議層。
[0028] 本發(fā)明中,所述ar9280主芯片的無線網(wǎng)絡(luò)驅(qū)動程序,其結(jié)構(gòu)具體包括:
[0029] (701)ath模塊:將net802. 11模塊、HAL模塊、athrate模塊連系起來;同時實現(xiàn) IEEE802. 11的管理功能;
[0030] (702)HAL模塊:為硬件抽象層,其中包含所有函數(shù)原型的定義和HAL參數(shù);
[0031] (703)net80211模塊:實現(xiàn)IEEE802. 11的基本功能,包括WLAN鑒權(quán)和加密;
[0032] (704)athrate模塊:其中包含分別對應(yīng)不同比特速率的onoe算法、amrr算法、 Samp leRate 算法;
[0033] (7〇5) ath ath 模塊結(jié)構(gòu)體:包括 ath_soft、ath_hal、ath_node、athbuf。
[0034] 本發(fā)明采用基于libpcap的數(shù)據(jù)包采集機(jī)制,捕包過程具體步驟如下,
[0035] (801)建立監(jiān)聽會話
[0036] 捕包之前使用pcap_lookupdve函數(shù)獲得系統(tǒng)上的網(wǎng)絡(luò)接口設(shè)備,然后利用函數(shù) PCap_〇pen_live獲得一個監(jiān)聽會話句柄,上述兩個函數(shù)具體定義如下所示 :
[0037] Char*pcap_loopupdev(char*errbuf);
[0038] pcap_t氺pd = Pcap_open_live(char氺device,int snaplen,int promise,int to- ms, char氺ubuf);
[0039] 函數(shù)pcap_loopupdev中的參數(shù)errbuf包含執(zhí)行錯誤時的原因,執(zhí)行成功時返回 網(wǎng)絡(luò)接口設(shè)備名;
[0040] 函數(shù)Pcap_open_live中的第一個參數(shù)device為網(wǎng)絡(luò)接口設(shè)備名,第二個參數(shù) snaplen定義監(jiān)聽程序所捕獲數(shù)據(jù)包的最大字節(jié)數(shù),第三個參數(shù)promise表示是否將網(wǎng)卡 設(shè)置為監(jiān)聽模式,第四個參數(shù)to_ms表示以毫秒計時的監(jiān)聽時限,第五個參數(shù)ubuf為函數(shù) 調(diào)用失敗時返回的錯誤信息;
[0041] (802)設(shè)置過濾規(guī)則
[0042] 通過函數(shù)pcap_Setfileter設(shè)置過濾規(guī)則,在內(nèi)核態(tài)將不需要的數(shù)據(jù)包過濾,函數(shù) pacp_setfileter的具體定義為:
[0043] int pcap_setfilter (pcap_t*p, strucct bpf_program*fp)
[0044] 其中,函數(shù)的第一個參數(shù)p為監(jiān)聽會話句柄的指針,第二個參數(shù)fp為過濾串規(guī) 則;
[0045] (803)捕獲數(shù)據(jù)包
[0046] 調(diào)用函數(shù)pcap_loop執(zhí)行主循環(huán),開始捕獲數(shù)據(jù)包,函數(shù)pcap_loop的具體形式 為:
[0047] Pcap-loop(pcap_t氺p, int cnt, pcap_handler callback,uchar氺user)
[0048] 其中,第二個參數(shù)cnt為函數(shù)返回前所處理的數(shù)據(jù)包個數(shù),參數(shù)cnt為負(fù)時處理緩 沖區(qū)所有數(shù)據(jù)包,為正時表示抓取的數(shù)據(jù)包個數(shù);第三個參數(shù)為回調(diào)函數(shù),當(dāng)捕獲一個數(shù)據(jù) 包時,自動調(diào)用以完成對數(shù)據(jù)包的處理;第四個參數(shù)為用戶傳遞給回調(diào)函數(shù)的指針。
[0049] (804)回調(diào)函數(shù)
[0050] 系統(tǒng)基于回調(diào)函數(shù)來對數(shù)據(jù)包進(jìn)行分析處理,回調(diào)函數(shù)的具體定義如下:
[0051] Void callback(uchar氺bp,const struct pcap-pkthdr氺header,const uchar氺in- data)
[0052] 其中,函數(shù)中第一個參數(shù)bp為用戶通過pcap_loop函數(shù)傳遞給回調(diào)函數(shù)的指針; 第二個參數(shù)hedaer為指向pcap_pkthdr結(jié)構(gòu)的指針;第三個參數(shù)為指向捕獲數(shù)據(jù)包的指 針;
[0053] 所述pcap_pkthdr結(jié)構(gòu)具體為:
[0054]
【權(quán)利要求】
1. 一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,包括嵌入式硬件平臺以及基于所 述嵌入式硬件平臺的嵌入式操作系統(tǒng)模塊、應(yīng)用平臺模塊,其中: 所述嵌入式硬件平臺包括嵌入式主板和無線網(wǎng)卡模塊,所述無線網(wǎng)卡模塊具體包括順 次相連接的網(wǎng)絡(luò)接口控制器、基帶處理器、中頻處理單元、射頻處理單元、收發(fā)轉(zhuǎn)換模塊和 天線,所述網(wǎng)絡(luò)接口控制器還經(jīng)過總線接口和所述嵌入式主板相連接; 網(wǎng)絡(luò)接口控制器實現(xiàn)IEEE802. 11規(guī)范的MAC層功能,負(fù)責(zé)接入控制,當(dāng)發(fā)送數(shù)據(jù)時,網(wǎng) 絡(luò)接口控制器負(fù)責(zé)接收發(fā)送的數(shù)據(jù),按照IEEE802. Η協(xié)議封裝相應(yīng)的幀格式,再根據(jù)CSMA/ CD協(xié)議將數(shù)據(jù)幀發(fā)送到無線信道中去;當(dāng)接收數(shù)據(jù)時,網(wǎng)絡(luò)接口控制器根據(jù)接收到得幀結(jié) 構(gòu)的目的地址判斷是否是發(fā)往本系統(tǒng)的數(shù)據(jù),如果是則接收該幀信息,并進(jìn)行循環(huán)冗余校 驗,去掉幀頭,把數(shù)據(jù)提交給計算機(jī); 所述基帶處理器、中頻處理單元、射頻處理單元構(gòu)成無線收發(fā)信機(jī),用以實現(xiàn)物理層的 功能,并與網(wǎng)絡(luò)接口控制器進(jìn)行數(shù)據(jù)交換; 所述嵌入式操作系統(tǒng)模塊設(shè)置于嵌入式主板內(nèi),在嵌入式操作系統(tǒng)模塊中還設(shè)置有管 理模塊和無線網(wǎng)卡驅(qū)動模塊;所述無線網(wǎng)卡驅(qū)動模塊通過對無線網(wǎng)卡進(jìn)行驅(qū)動定制,完成 無線網(wǎng)卡的monitor模式實現(xiàn); 所述應(yīng)用平臺模塊包括無線數(shù)據(jù)捕獲模塊、無線協(xié)議分析模塊和并行檢測監(jiān)控模塊, 其中,所述無線數(shù)據(jù)包捕獲模塊進(jìn)行無線數(shù)據(jù)采集;無線協(xié)議分析模塊對無線網(wǎng)絡(luò)數(shù)據(jù)包 進(jìn)行重組分析,將其恢復(fù)為應(yīng)用層數(shù)據(jù);并行檢測監(jiān)控模塊通過主動掃描與被動掃描相結(jié) 合的模式,進(jìn)行無線局域網(wǎng)接入點(diǎn)的檢測。
2. 如權(quán)利要求1所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述嵌入式 主板為 Marvell88F6281。
3. 如權(quán)利要求1或2所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述無線 網(wǎng)卡模塊的主芯片型號具體為atheros9280。
4. 如權(quán)利要求3所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述天線的 具體型號為5dBi高天線增益。
5. 如權(quán)利要求1所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,嵌入式操作 系統(tǒng)模塊采用OpenWrt嵌入式Linux操作系統(tǒng);其中,所述管理模塊為Luci web模塊,具體 包括Lua組件和UCI組件。
6. 如權(quán)利要求3所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述對無線 網(wǎng)卡進(jìn)行驅(qū)動定制的具體過程包括:采用ar9280主芯片的無線網(wǎng)絡(luò)驅(qū)動程序在數(shù)據(jù)收發(fā) 過程實現(xiàn)數(shù)據(jù)中轉(zhuǎn),接收上層用戶應(yīng)用程序的數(shù)據(jù)流,通過SPI 口轉(zhuǎn)發(fā)到Wifi硬件,或響應(yīng) Wifi硬件中斷,從硬件緩沖區(qū)讀取數(shù)據(jù)流,通過驅(qū)動程序注冊的接口函數(shù)發(fā)送到上層應(yīng)用程 序; 數(shù)據(jù)接收過程為:網(wǎng)絡(luò)設(shè)備收到數(shù)據(jù)后會產(chǎn)生一個中斷,中斷處理程序讀取當(dāng)前狀態(tài) 寄存器,判斷出數(shù)據(jù)接收狀態(tài),申請一塊緩沖區(qū),再將Wifi硬件中的網(wǎng)絡(luò)數(shù)據(jù)包讀取到該緩 沖區(qū),并添加到接收數(shù)據(jù)隊列;從硬件成功讀取數(shù)據(jù)后,處理接收到的數(shù)據(jù)包,再將其轉(zhuǎn)發(fā) 到協(xié)議層。
7. 如權(quán)利要求6所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述ar9280 主芯片的無線網(wǎng)絡(luò)驅(qū)動程序,其結(jié)構(gòu)具體包括: (701) ath模塊:將net802. 11模塊、HAL模塊、athrate模塊連系起來;同時實現(xiàn) IEEE802. 11的管理功能; (702) HAL模塊:為硬件抽象層,其中包含所有函數(shù)原型的定義和HAL參數(shù); (703) net80211模塊:實現(xiàn)IEEE802. 11的基本功能,包括WLAN鑒權(quán)和加密; (704) athrate模塊:其中包含分別對應(yīng)不同比特速率的onoe算法、amrr算法、 Samp leRate 算法; (705) ath ath 模塊結(jié)構(gòu)體:包括 ath_soft、ath_hal、ath_node、athbuf。
8.如權(quán)利要求1所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述無線數(shù) 據(jù)包捕獲模塊進(jìn)行無線數(shù)據(jù)采集,其具體過程為:采用基于libpcap的數(shù)據(jù)包采集機(jī)制,捕 包過程具體步驟如下, (801) 建立監(jiān)聽會話 捕包之前使用pcap_lookupdve函數(shù)獲得系統(tǒng)上的網(wǎng)絡(luò)接口設(shè)備,然后利用函數(shù)Pcap_ open_live獲得一個監(jiān)聽會話句柄,上述兩個函數(shù)具體定義如下所示: Char*pcap_loopupdev (char*errbuf); pcap_t氺pd = Pcap_open_live(char氺device, int snaplen,int promise,int to_ms, char氺ubuf); 函數(shù)pcap_loopupdev中的參數(shù)errbuf包含執(zhí)行錯誤時的原因,執(zhí)行成功時返回網(wǎng)絡(luò) 接口設(shè)備名; 函數(shù)Pcap_open_live中的第一個參數(shù)device為網(wǎng)絡(luò)接口設(shè)備名,第二個參數(shù)snaplen 定義監(jiān)聽程序所捕獲數(shù)據(jù)包的最大字節(jié)數(shù),第三個參數(shù)promise表示是否將網(wǎng)卡設(shè)置為監(jiān) 聽模式,第四個參數(shù)to_ms表示以毫秒計時的監(jiān)聽時限,第五個參數(shù)ubuf為函數(shù)調(diào)用失敗 時返回的錯誤信息; (802) 設(shè)置過濾規(guī)則 通過函數(shù)pCap_Setfileter設(shè)置過濾規(guī)則,在內(nèi)核態(tài)將不需要的數(shù)據(jù)包過濾,函數(shù) pacp_setfileter的具體定義為: int pcap-setfilter(pcap_t氺p, strucct bpf_program*fp) 其中,函數(shù)的第一個參數(shù)P為監(jiān)聽會話句柄的指針,第二個參數(shù)fp為過濾串規(guī)則; (803) 捕獲數(shù)據(jù)包 調(diào)用函數(shù)pcap_loop執(zhí)行主循環(huán),開始捕獲數(shù)據(jù)包,函數(shù)pcap_loop的具體形式為: Pcap_loop(pcap_t*p, int ent, pcap_handler callback, uchar氺user) 其中,第二個參數(shù)ent為函數(shù)返回前所處理的數(shù)據(jù)包個數(shù),參數(shù)ent為負(fù)時處理緩沖 區(qū)所有數(shù)據(jù)包,為正時表示抓取的數(shù)據(jù)包個數(shù);第三個參數(shù)為回調(diào)函數(shù),當(dāng)捕獲一個數(shù)據(jù)包 時,自動調(diào)用以完成對數(shù)據(jù)包的處理;第四個參數(shù)為用戶傳遞給回調(diào)函數(shù)的指針。 (804) 回調(diào)函數(shù) 系統(tǒng)基于回調(diào)函數(shù)來對數(shù)據(jù)包進(jìn)行分析處理,回調(diào)函數(shù)的具體定義如下: Void callback(uchar氺bp, const struct pcap-pkthdr氺header, const uchar氺in- data) 其中,函數(shù)中第一個參數(shù)bp為用戶通過pcap_loop函數(shù)傳遞給回調(diào)函數(shù)的指針;第二 個參數(shù)hedaer為指向pcap_pkthdr結(jié)構(gòu)的指針;第三個參數(shù)為指向捕獲數(shù)據(jù)包的指針; 所述pcap_pkthdr結(jié)構(gòu)具體為:
其中包含兩個數(shù)據(jù)緩沖器:存儲緩沖器和保持緩沖器;所述存儲緩沖器用來保存通過 過濾器的數(shù)據(jù)包;所述保持緩沖器用來向用戶緩沖器復(fù)制數(shù)據(jù); 當(dāng)數(shù)據(jù)包經(jīng)過BPF過濾器后被置于存儲緩沖器中,系統(tǒng)通過調(diào)用函數(shù)從保持緩存器中 拿取數(shù)據(jù);當(dāng)存儲緩沖器為滿且保持緩沖器為空時,Libpcap將其進(jìn)行交換; 當(dāng)存儲緩沖器為滿,同時系統(tǒng)沒有取完保持緩沖器中的數(shù)據(jù),那么再采集的數(shù)據(jù)包就 會被丟棄,直至保持緩沖器變成空為止; (805)設(shè)置循環(huán)緩沖器 采用存儲空間為循環(huán)結(jié)構(gòu)的libpcap-mmap程序?qū)⒈3志彌_器和存儲緩沖器的雙緩沖 器的結(jié)構(gòu)更改為一個循環(huán)緩沖器,允許用戶和內(nèi)核程序同時對所述循環(huán)緩沖器的不同數(shù)據(jù) 區(qū)域進(jìn)行直接的讀取,循環(huán)緩沖器的大小是可配置的,其在捕獲數(shù)據(jù)包的句柄創(chuàng)建時被分 配,與之對應(yīng)在該句柄銷毀時被釋放; Libpcap-mmap程序把得到的可用空間分成復(fù)數(shù)個大小相等的數(shù)據(jù)塊,每個數(shù)據(jù)塊都對 應(yīng)分配一個指針,系統(tǒng)通過指針唯一的標(biāo)識上述數(shù)據(jù)塊;同時,每個數(shù)據(jù)塊又被分成復(fù)數(shù)個 大小相等的數(shù)據(jù)幀,每個數(shù)據(jù)幀也對應(yīng)分配一個指針,數(shù)據(jù)幀的大小是可以配置的,且大于 網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的最大長度;在捕獲到有效網(wǎng)絡(luò)數(shù)據(jù)包時,通過指針將該數(shù)據(jù)包寫入 到循環(huán)緩沖器中的一個數(shù)據(jù)幀中,當(dāng)系統(tǒng)讀取網(wǎng)絡(luò)數(shù)據(jù)包時,通過調(diào)用Linux的通用函數(shù) _ap來獲得指向相應(yīng)緩沖器的一個讀指針,然后通過使用該指針對循環(huán)緩沖器中的數(shù)據(jù)進(jìn) 行讀??; 系統(tǒng)給每個數(shù)據(jù)幀定義一個狀態(tài)標(biāo)識,所述狀態(tài)標(biāo)識指明內(nèi)核能在該數(shù)據(jù)幀寫入新的 數(shù)據(jù);當(dāng)系統(tǒng)讀取該數(shù)據(jù)幀后,將該標(biāo)識置空; 當(dāng)循環(huán)緩沖器沒有可用的空間,libpcap-mmap程序丟棄新到達(dá)的數(shù)據(jù)包。
9.如權(quán)利要求1所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述無線協(xié) 議分析模塊對無線網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行重組分析的具體過程為: 采用多線程并行處理數(shù)據(jù)報文分析技術(shù),具體分為數(shù)據(jù)分發(fā)模塊和數(shù)據(jù)分析模塊兩個 部分; 所述數(shù)據(jù)分發(fā)模塊將捕獲的數(shù)據(jù)基于不同的協(xié)議地址分發(fā)至對應(yīng)的數(shù)據(jù)分析模塊進(jìn) 行處理; 所述數(shù)據(jù)分析模塊中設(shè)置有單獨(dú)的數(shù)據(jù)包緩沖區(qū),所述數(shù)據(jù)分析模塊的數(shù)據(jù)包緩沖 區(qū)由空閑緩沖區(qū)隊列和已使用緩沖區(qū)隊列組成,捕獲一個無線數(shù)據(jù)包之后,從空閑緩沖區(qū) 隊列的頭部取下一個空存儲單元,并將捕獲數(shù)據(jù)拷貝到該緩沖區(qū),然后將該緩沖單元掛到 已使用緩沖隊列尾部,數(shù)據(jù)分析線程再從已使用緩沖隊列的頭部取下一個數(shù)據(jù)單元進(jìn)行處 理,處理完成以后直接將這個數(shù)據(jù)單元掛到空閑緩沖區(qū)隊列。
10.如權(quán)利要求1所述的一種便攜式無線網(wǎng)絡(luò)探測取證系統(tǒng),其特征在于,所述并行檢 測監(jiān)控模塊通過主動掃描與被動掃描相結(jié)合的模式進(jìn)行無線局域網(wǎng)接入點(diǎn)的檢測,具體過 程為: 所述被動掃描通過偵聽AP定期發(fā)送的Beaeon幀來發(fā)現(xiàn)網(wǎng)絡(luò),所述Beaeon幀中包含該 AP所屬的BSS的基本信息以及AP的基本信息; 所述主動掃描在每個信道上發(fā)送探測報文,從探測請求包中獲取AP所屬BSS的基本信 肩、。
【文檔編號】H04W24/00GK104159244SQ201410387965
【公開日】2014年11月19日 申請日期:2014年8月5日 優(yōu)先權(quán)日:2014年8月5日
【發(fā)明者】王強(qiáng), 陳峰俊, 付睿智, 張永勝, 劉新紅 申請人:王強(qiáng)