亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種嗅探無線終端MAC信息的方法和路由器與流程

文檔序號:12477871閱讀:711來源:國知局
一種嗅探無線終端MAC信息的方法和路由器與流程

本發(fā)明實施方式涉及通訊技術(shù)領(lǐng)域,尤其涉及一種嗅探無線終端MAC信息的方法和路由器。



背景技術(shù):

隨著互聯(lián)網(wǎng)和無線網(wǎng)絡(luò)的快速發(fā)展,無線網(wǎng)絡(luò)接入點和形形色色的無線隨身設(shè)備充斥著人們的生活。在這樣的環(huán)境下,無線MAC(Media Access Control,媒體訪問控制)嗅探可以為大數(shù)據(jù)的無線終端提供有力支持,例如:可以為警方辦案提供有力的證據(jù)證明某個人在某某時間在什么地方,或者追蹤某個無線終端也是不錯的選擇;根據(jù)MAC信息可以分析出終端類型,能大致分析出某個地方的人們生活水平狀況,為商家投資提供有力的參考數(shù)據(jù)。因此,在大數(shù)據(jù)時代,無線終端的網(wǎng)絡(luò)接入數(shù)據(jù)會越來越重要。

無線MAC嗅探通過無線終端中的WIFI(Wireless Fidelity,無線保真)模塊所發(fā)出的無線廣播信號進(jìn)行設(shè)備的感知,關(guān)鍵過程是發(fā)現(xiàn)WLAN(Wireless Local Area Network,即無線局域網(wǎng))并連接到它。首先,WLAN網(wǎng)絡(luò)通過發(fā)送攜帶有SSID(Service Set Identifier,服務(wù)集標(biāo)識)的Beacons(信標(biāo))幀來通知它的存在,然后客戶端為了連接WLAN,發(fā)送Probe(探測)幀。

目前,在無線功能WiFi開啟的時候,無線終端會發(fā)出Probe幀,并在Probe幀的入口處可以獲取無線終端的MAC信息,但是在無線終端屏幕關(guān)閉的情況下,即使無線功能WiFi開啟,也不會發(fā)出Probe幀,導(dǎo)致該情況下無法獲取無線終端的MAC信息。



技術(shù)實現(xiàn)要素:

針對上述問題,本發(fā)明實施方式的目的在于提供一種嗅探無線終端MAC信息的方法和路由器,能夠在無線終端開啟無線功能時,即使關(guān)閉屏幕的情況下,也能嗅探到無線終端MAC信息。

為實現(xiàn)上述目的,本發(fā)明實施方式提供一種嗅探無線終端MAC信息的方法,應(yīng)用于路由器,包括:在路由器的無線數(shù)據(jù)幀入口預(yù)裝MAC嗅探功能模塊;當(dāng)接收到無線數(shù)據(jù)幀時,如果MAC嗅探功能開啟,所述MAC嗅探功能模塊獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息;如果在所述路由器中沒有查找到所述MAC信息,則將所述MAC信息存儲在所述路由器中。

進(jìn)一步地,所述在路由器的無線數(shù)據(jù)幀入口預(yù)裝MAC嗅探功能模塊,包括:在路由器的無線數(shù)據(jù)幀接收模塊中添加MAC嗅探功能模塊的入口函數(shù),并把所述無線數(shù)據(jù)幀接收模塊接收的無線數(shù)據(jù)幀傳給所述MAC嗅探的入口函數(shù)。

進(jìn)一步地,所述當(dāng)路由器接收到無線數(shù)據(jù)幀時,如果MAC嗅探功能開啟,所述MAC嗅探功能函數(shù)獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息,包括:當(dāng)無線數(shù)據(jù)幀進(jìn)入所述無線數(shù)據(jù)幀接收模塊時,,判斷所述MAC嗅探功能是否開啟;如果所述MAC嗅探功能開啟,則所述無線數(shù)據(jù)幀進(jìn)入所述MAC嗅探功能模塊的入口函數(shù),所述MAC嗅探功能模塊的入口函數(shù)獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息。

進(jìn)一步地,所述如果在所述路由器中沒有查找到所述MAC信息,則將所述MAC信息存儲在所述路由器中,包括:采用哈希算法查找路由器的哈希表,所述哈希表用于存儲無線終端的MAC信息;如果在所述哈希表中沒有查找到獲取的MAC信息,則將所述MAC信息存儲在所述路由器的哈希表中。

進(jìn)一步地,所述方法還包括:預(yù)先在路由器中設(shè)置MAC嗅探的用戶態(tài)進(jìn)程,所述MAC嗅探的用戶態(tài)進(jìn)程中包括消息接收函數(shù)以及所述消息接收函數(shù)的定時器;所述消息接收函數(shù)用于在所述定時器開啟期間監(jiān)聽MAC嗅探的配置信息。

進(jìn)一步地,所述方法還包括:如果監(jiān)聽到MAC嗅探的配置信息發(fā)生了改變,則關(guān)閉所述消息接收函數(shù)的定時器,重新運行所述消息接收函數(shù);如果監(jiān)聽到MAC嗅探的配置信息沒有發(fā)生改變,當(dāng)所述MAC嗅探功能開啟時,獲取所述路由器的哈希表中的MAC信息,并將獲取的MAC信息上傳給所述用戶態(tài)進(jìn)程;當(dāng)所述MAC嗅探功能關(guān)閉或者接收到關(guān)閉MAC嗅探功能的消息時,保持所述用戶態(tài)進(jìn)程的運行,關(guān)閉所述消息接收函數(shù)的定時器。

為實現(xiàn)上述目的,本發(fā)明實施方式還提供一種嗅探無線終端MAC信息的路由器,包括:第一處理模塊,用于在無線數(shù)據(jù)幀入口預(yù)裝MAC嗅探功能模塊;第二處理模塊,用于當(dāng)接收到無線數(shù)據(jù)幀時,如果MAC嗅探功能開啟,所述MAC嗅探功能模塊獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息;第三處理模塊,用于如果在所述路由器中沒有查找到所述MAC信息,則將所述MAC信息存儲在所述路由器中。

由上可見,本發(fā)明實施方式提供的一種嗅探無線終端MAC信息的方法和路由器,通過把MAC嗅探模塊從現(xiàn)有的探測幀入口移到所有無線數(shù)據(jù)幀入口處,使無線終端開啟WiFi且關(guān)閉屏幕的情況下也能嗅探到無線終端MAC信息;路由器采用哈希算法查找哈希表,查找快速準(zhǔn)確;此外,當(dāng)MAC嗅探功能關(guān)閉時,無線數(shù)據(jù)幀無法進(jìn)入MAC嗅探模塊,最大程度的減少CPU的消耗。

附圖說明

為了更清楚地說明本發(fā)明實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖逐一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施方式提供的嗅探無線終端MAC信息的方法的流程示意圖;

圖2為本發(fā)明實施方式提供的嗅探無線終端MAC信息的方法的一個具體流程示意圖;

圖3為本發(fā)明實施方式提供的嗅探無線終端MAC信息的方法的另一個具體流程示意圖;

圖4為本發(fā)明實施方式提供的嗅探無線終端MAC信息的系統(tǒng)的示意圖;

圖5為本發(fā)明實施方式提供的嗅探無線終端MAC信息的路由器的功能結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明實施方式的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施方式中的附圖,對本發(fā)明實施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施方式是本發(fā)明一部分實施方式,而不是全部的實施方式?;诒景l(fā)明中的實施方式,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施方式,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實施方式提供一種嗅探無線終端MAC信息的方法。請參閱圖1,所述方法應(yīng)用于路由器,包括:

步驟S11,在路由器的無線數(shù)據(jù)幀入口預(yù)裝MAC嗅探功能模塊;

步驟S12,當(dāng)接收到無線數(shù)據(jù)幀時,如果MAC嗅探功能開啟,所述MAC嗅探功能模塊獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息;

步驟S13,如果在所述路由器中沒有查找到所述MAC信息,則將所述MAC信息存儲在所述路由器中。

基于圖1,圖2為本發(fā)明實施方式提供的嗅探無線終端MAC信息的方法的一個具體流程示意圖。如圖2所示,所述方法應(yīng)用于路由器,可以包括以下步驟:

步驟S21,在路由器的無線數(shù)據(jù)幀入口預(yù)裝MAC嗅探功能模塊。

在本步驟中,在路由器的無線數(shù)據(jù)幀入口擴展無線數(shù)據(jù)幀接收模塊,例如在無線數(shù)據(jù)幀接收模塊裝載無線數(shù)據(jù)幀接收函數(shù)IEEE80211_input(),進(jìn)一步地,在IEEE80211_input()中添加MAC嗅探功能模塊的入口函數(shù)(STA_MAC_sniff()),并把IEEE80211_input()的WBUF和NI中的RSSI(Received Signal Strength Indication,接收的信號強度指示)傳給(STA_MAC_sniff())。

步驟S22,當(dāng)接收到無線數(shù)據(jù)幀時,路由器判斷MAC嗅探功能是否開啟,如果是,進(jìn)行步驟S23;如果否,對所述無線數(shù)據(jù)幀不做處理。

在本步驟中,當(dāng)一個無線數(shù)據(jù)幀進(jìn)入IEEE80211_input()時,判斷是否了開啟MAC嗅探功能。

如果沒開啟,則該數(shù)據(jù)幀無法進(jìn)入STA_MAC_sniff(),以防止消耗CPU資源,對所述無線數(shù)據(jù)幀不做處理。

步驟S23,所述無線數(shù)據(jù)幀進(jìn)入MAC嗅探功能模塊,所述MAC嗅探功能模塊獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息。

在本步驟中,如果開啟了MAC嗅探功能,所述無線數(shù)據(jù)幀進(jìn)入STA_MAC_sniff()中,STA_MAC_sniff()獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息。

步驟S24,判斷路由器是否已經(jīng)存儲了所述MAC信息,如果是,對所述無線數(shù)據(jù)幀的MAC信息不做處理;如果否,進(jìn)入步驟S25。

在本步驟中,采用Hash查找路由器的Hash表,所述哈希表用于存儲無線終端的MAC信息。

根據(jù)獲取的MAC信息中的MAC地址,判斷是否已經(jīng)存儲了所述MAC信息。

如果查找到,則Hash表已經(jīng)存儲了所述MAC信息,對所述無線數(shù)據(jù)幀的MAC信息不做處理。

步驟S25,將所述MAC信息存儲在所述路由器的Hash表中。

在本步驟中,如果Hash表沒有存儲所述MAC信息,將所述MAC信息存儲在所述路由器的Hash表中。

所述MAC信息可以包括:MAC,RSSI,timeSTAmp(時間戳)等,其中timeSTAmp用內(nèi)核中的函數(shù)do_gettimeofday()獲取內(nèi)核時間,將tv_sec傳給timeSTAmp,這樣用戶態(tài)進(jìn)程get到終端數(shù)據(jù)后就可以計算出終端接入時間。

圖3為本發(fā)明實施方式提供的嗅探無線終端MAC信息的方法的另一個具體流程示意圖。在本發(fā)明實施方式中,如圖3所示,為了防止內(nèi)存消耗過大,還可以包括以下步驟:

步驟S31,預(yù)先在路由器中設(shè)置MAC嗅探的用戶態(tài)進(jìn)程,所述MAC嗅探的用戶態(tài)進(jìn)程中包括消息接收函數(shù)以及該消息接收函數(shù)的定時器。

在本步驟中,預(yù)先在路由器中設(shè)置MAC嗅探的用戶態(tài)進(jìn)程,例如:macsniffer,該MAC嗅探的用戶態(tài)進(jìn)程中可以包括消息接收函數(shù)以及用于為消息接收函數(shù)定時的定時器,該消息接收函數(shù)可以例如是getMacSnifferList()。其中該消息接收函數(shù)用于在定時器開啟期間監(jiān)聽MAC嗅探的配置信息。

步驟S32,監(jiān)聽接收到MAC嗅探的配置信息是否發(fā)生改變,如果是,進(jìn)行步驟S33;如果否,進(jìn)行步驟S34。

在本步驟中,通過getMacSnifferList()能夠監(jiān)聽路由器中MDM(Master Data Management,主數(shù)據(jù)管理)模塊或其他模塊接收到MAC嗅探的配置信息是否發(fā)生改變。

MAC嗅探的配置信息可以包括:MAC嗅探功能是否開啟、上報給服務(wù)器的周期、FTP(File Transfer Protocol)服務(wù)器的地址等信息。

步驟S33,關(guān)閉定時器,且重新運行消息接收函數(shù),然后進(jìn)行S34。

在本步驟中,如果監(jiān)聽到MAC嗅探的配置信息發(fā)生了改變,則關(guān)閉定時器,重新運行g(shù)etMacSnifferList()。

步驟S34,判斷MAC嗅探是否開啟,如果是,進(jìn)行步驟S35;如果否,進(jìn)行步驟S37。

在本步驟中,可以通過讀取MDM模塊或其他模塊接收到MAC嗅探的配置信息,來判斷MAC嗅探是否開啟。

步驟S35,獲取所述路由器的Hash表中的MAC信息,將獲取的MAC信息上傳給所述MAC嗅探的用戶態(tài)進(jìn)程,并清空所述HASH表。

在本步驟中,可以采用BOARD_IOCTL函數(shù)從內(nèi)核獲取Hash表中存入的嗅探到的MAC信息,然后將獲取的MAC信息上傳給MAC嗅探的用戶態(tài)進(jìn)程。

MAC嗅探的用戶態(tài)進(jìn)程獲取內(nèi)核Hash表中存入的嗅探到的MAC信息后,將該Hash表內(nèi)容清除,防止內(nèi)存消耗過大。

步驟S36,設(shè)置定時器,判斷定時器的時長是否達(dá)到,如果是,返回步驟S34;如果否,繼續(xù)執(zhí)行步驟S36。

在本步驟中,設(shè)置定時器,設(shè)定時器的時長為X。

當(dāng)定時器X時長到達(dá)時,返回步驟S34判斷MAC嗅探是否開啟;

當(dāng)定時器X時長未到達(dá)時,繼續(xù)執(zhí)行步驟S36判斷定時器的時長是否達(dá)到。

即,每個X時長重復(fù)上面動作。

步驟S37,保持用戶態(tài)進(jìn)程的運行,關(guān)閉用戶態(tài)進(jìn)程中消息接收函數(shù)的定時器。

在本步驟中,如果MAC嗅探關(guān)閉,或者消息接收函數(shù)監(jiān)聽到關(guān)閉MAC嗅探功能的消息,則關(guān)閉getMacSnifferList()的定時器。需要住的是的,用戶態(tài)進(jìn)程還是運行的,以便隨時接收MAC嗅探開啟的消息重新運行g(shù)etMacSnifferList()。

圖4為本發(fā)明實施方式提供的嗅探無線終端MAC信息的系統(tǒng)的示意圖。請參閱圖4,該系統(tǒng)包括:

客戶端,用于發(fā)送無線數(shù)據(jù)幀;

路由器,用于預(yù)先將MAC嗅探功能模塊到接收所有無線數(shù)據(jù)幀的入口;當(dāng)接收到客戶端發(fā)送的無線數(shù)據(jù)幀時,如果MAC嗅探功能開啟,所述MAC嗅探功能模塊獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息;如果在所述路由器中沒有查找到所述MAC信息,則將所述MAC信息存儲在所述路由器中。

所述路由器在IEEE80211_input()中添加(STA_MAC_sniff()),并把IEEE80211_input()的WBUF和NI中接收的信號強度指示傳給(STA_MAC_sniff())。當(dāng)無線數(shù)據(jù)幀進(jìn)入IEEE80211_input()并到達(dá)STA_MAC_sniff()時,判斷所述MAC嗅探功能是否開啟;如果所述MAC嗅探功能沒有開啟,則所述無線數(shù)據(jù)幀無法進(jìn)入STA_MAC_sniff();如果所述MAC嗅探功能開啟,則所述無線數(shù)據(jù)幀進(jìn)入STA_MAC_sniff(),STA_MAC_sniff()獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息。

所述路由器采用哈希Hash算法查找Hash表;如果在所述Hash表中沒有查找到獲取的MAC信息,則將所述MAC信息存儲在所述路由器的Hash表中。

圖5為本發(fā)明實施方式提供的嗅探無線終端MAC信息的路由器的功能結(jié)構(gòu)示意圖。請參閱圖5,該路由器包括:

第一處理模塊,用于在無線數(shù)據(jù)幀入口預(yù)裝MAC嗅探功能模塊;

具體地,在IEEE80211_input()中添加(STA_MAC_sniff()),并把IEEE80211_input()的WBUF和NI中接收的信號強度指示傳給(STA_MAC_sniff())。

第二處理模塊,用于當(dāng)接收到無線數(shù)據(jù)幀時,如果MAC嗅探功能開啟,所述MAC嗅探功能模塊獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息;

具體地,當(dāng)無線數(shù)據(jù)幀進(jìn)入IEEE80211_input()并到達(dá)STA_MAC_sniff()時,判斷所述MAC嗅探功能是否開啟;如果所述MAC嗅探功能沒有開啟,則所述無線數(shù)據(jù)幀無法進(jìn)入STA_MAC_sniff();如果所述MAC嗅探功能開啟,則所述無線數(shù)據(jù)幀進(jìn)入STA_MAC_sniff()函數(shù),STA_MAC_sniff()獲取所述無線數(shù)據(jù)幀中攜帶的MAC信息。

第三處理模塊,用于如果在所述路由器中沒有查找到所述MAC信息,則將所述MAC信息存儲在所述路由器中;

具體地,采用哈希Hash算法查找路由器的Hash表;如果在所述Hash表中沒有查找到獲取的MAC信息,則將所述MAC信息存儲在所述路由器的Hash表中。

所述路由器還包括:

第四處理模塊,用于在路由器中設(shè)置MAC嗅探的用戶態(tài)進(jìn)程,所述MAC嗅探的用戶態(tài)進(jìn)程中包括消息接收函數(shù)以及所述消息接收函數(shù)的定時器;所述消息接收函數(shù)為getMacSnifferList(),用于在定時器開啟期間監(jiān)聽MAC嗅探的配置信息。

第五處理模塊,用于如果監(jiān)聽到MAC嗅探的配置信息發(fā)生了改變,則關(guān)閉所述消息接收函數(shù)的定時器,重新運行所述消息接收函數(shù);如果監(jiān)聽到MAC嗅探的配置信息沒有發(fā)生改變,當(dāng)所述MAC嗅探功能開啟時,獲取所述路由器的Hash表中的MAC信息,并將獲取的MAC信息上傳給所述用戶態(tài)進(jìn)程;當(dāng)所述MAC嗅探功能關(guān)閉或者接收到關(guān)閉MAC嗅探功能的消息時,保持所述用戶態(tài)進(jìn)程的運行,關(guān)閉所述消息接收函數(shù)的定時器。

上述的涉及到的嗅探無線終端MAC信息的系統(tǒng)和嗅探無線終端MAC信息的路由器中的具體技術(shù)細(xì)節(jié)和嗅探無線終端MAC信息的方法中的類似,故不再具體贅述。

由上可見,本發(fā)明實施方式提供的一種嗅探無線終端MAC信息的方法、路由器和系統(tǒng),通過把MAC嗅探函數(shù)從現(xiàn)有的探測幀入口移到所有無線數(shù)據(jù)幀入口處,使無線終端開啟WiFi且關(guān)閉屏幕的情況下也能嗅探到無線終端MAC信息;路由器采用哈希Hash算法查找Hash表,查找快速準(zhǔn)確;用戶態(tài)進(jìn)程進(jìn)程獲取MAC信息后,將Hash表中的內(nèi)容清除,防止內(nèi)存消耗過大;此外,當(dāng)MAC嗅探功能關(guān)閉時,無線數(shù)據(jù)幀無法進(jìn)入MAC嗅探函數(shù),最大程度的減少CPU的消耗。

本說明書中的各個實施方式均采用遞進(jìn)的方式描述,各個實施方式之間相同相似的部分互相參見即可,每個實施方式重點說明的都是與其他實施方式的不同之處。

最后應(yīng)說明的是:上面對本發(fā)明的各種實施方式的描述以描述的目的提供給本領(lǐng)域技術(shù)人員。其不旨在是窮舉的、或者不旨在將本發(fā)明限制于單個公開的實施方式。如上所述,本發(fā)明的各種替代和變化對于上述技術(shù)所屬領(lǐng)域技術(shù)人員而言將是顯而易見的。因此,雖然已經(jīng)具體討論了一些另選的實施方式,但是其它實施方式將是顯而易見的,或者本領(lǐng)域技術(shù)人員相對容易得出。本發(fā)明旨在包括在此已經(jīng)討論過的本發(fā)明的所有替代、修改、和變化,以及落在上述申請的精神和范圍內(nèi)的其它實施方式。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1