本發(fā)明屬于網(wǎng)絡(luò)監(jiān)控領(lǐng)域,具體涉及一種wifi網(wǎng)絡(luò)監(jiān)控方法。
背景技術(shù):
目前,當(dāng)用戶需要通過查看wifi局域網(wǎng)中連接到ap(accesspoint,訪問接入點(diǎn))的網(wǎng)絡(luò)設(shè)備的mac地址來對(duì)wifi局域進(jìn)行監(jiān)控時(shí),用戶采用的監(jiān)控設(shè)備必須與ap處在同一局域網(wǎng)內(nèi),若監(jiān)控設(shè)備在外網(wǎng),則無法查看連接到ap的網(wǎng)絡(luò)設(shè)備的mac地址。此外,用戶采用與ap處于同一局域網(wǎng)的監(jiān)控設(shè)備進(jìn)行查看時(shí),首先ap端軟件必須支持mac地址查看功能,其次用戶必須通過瀏覽器登錄ap控制頁(yè)面,再進(jìn)入顯示連接mac信息的頁(yè)面才能查看。由此可見,目前在對(duì)wifi局域網(wǎng)進(jìn)行監(jiān)控時(shí)存在網(wǎng)絡(luò)局限性且操作比較復(fù)雜。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種wifi網(wǎng)絡(luò)監(jiān)控方法,以解決目前wifi網(wǎng)絡(luò)監(jiān)控方式存在網(wǎng)絡(luò)局限性且操作比較復(fù)雜的問題。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種wifi網(wǎng)絡(luò)監(jiān)控方法,應(yīng)用在監(jiān)控設(shè)備側(cè),包括:
獲取ap所處信道上的wifi報(bào)文;
根據(jù)所述wifi報(bào)文,識(shí)別出訪問所述ap的網(wǎng)絡(luò)設(shè)備的mac地址;
針對(duì)訪問所述ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,根據(jù)該mac地址以及通過外網(wǎng)服務(wù)器從移動(dòng)終端接收到的mac地址設(shè)置信息,確定該mac地址的類型;
根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析,并將所述分析的結(jié)果通過外網(wǎng)服務(wù)器發(fā)送給所述移動(dòng)終端,以實(shí)現(xiàn)所述移動(dòng)終端對(duì)wifi網(wǎng)絡(luò)的監(jiān)控。
在一種可選的實(shí)現(xiàn)方式中,在獲取ap所處信道上的wifi報(bào)文之前,所述方法包括:?jiǎn)?dòng)第一計(jì)時(shí)器;
在針對(duì)訪問所述ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,根據(jù)該mac地址以及通過外網(wǎng)服務(wù)器從移動(dòng)終端接收到的mac地址設(shè)置信息,確定該mac地址的類型之后,所述方法還包括:判斷所述第一計(jì)時(shí)器是否到達(dá)第一預(yù)設(shè)時(shí)間,若是,則通過ap、外網(wǎng)服務(wù)器與移動(dòng)終端建立連接,執(zhí)行根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析的步驟,否則返回執(zhí)行所述獲取ap所處信道上的wifi報(bào)文的步驟。
在另一種可選的實(shí)現(xiàn)方式中,在根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析,并將所述分析的結(jié)果通過外網(wǎng)服務(wù)器發(fā)送給所述移動(dòng)終端之前,所述方法還包括:通過外網(wǎng)服務(wù)器與移動(dòng)終端建立連接,并啟動(dòng)第二計(jì)時(shí)器;
在根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析,并將所述分析的結(jié)果通過外網(wǎng)服務(wù)器發(fā)送給所述移動(dòng)終端之前,所述方法還包括:
判斷所述第二計(jì)時(shí)器是否到達(dá)第二預(yù)設(shè)時(shí)間,若是,則斷開與外網(wǎng)服務(wù)器的連接,返回執(zhí)行所述獲取ap所處信道上的wifi報(bào)文的步驟,否則繼續(xù)執(zhí)行根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析,并將所述分析的結(jié)果通過外網(wǎng)服務(wù)器發(fā)送給所述移動(dòng)終端的步驟。
在另一種可選的實(shí)現(xiàn)方式中,所述根據(jù)所述wifi報(bào)文,識(shí)別出訪問所述ap的網(wǎng)絡(luò)設(shè)備的mac地址包括:
根據(jù)所述wifi報(bào)文的類型標(biāo)識(shí)符,判斷所述wifi報(bào)文是否為數(shù)據(jù)報(bào)文;
若是,則判斷wifi報(bào)文中發(fā)送數(shù)據(jù)至基站的標(biāo)識(shí)符是否有效且從基站接收數(shù)據(jù)的標(biāo)識(shí)符是否無效;
若所述發(fā)送數(shù)據(jù)至基站的標(biāo)識(shí)符有效且從基站接收數(shù)據(jù)的標(biāo)識(shí)符無效,則將所述wifi報(bào)文中的源mac地址識(shí)別為訪問所述ap的網(wǎng)絡(luò)設(shè)備的mac地址。
在另一種可選的實(shí)現(xiàn)方式中,在針對(duì)訪問所述ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,根據(jù)該mac地址以及通過外網(wǎng)服務(wù)器從移動(dòng)終端接收到的mac地址設(shè)置信息,確定該mac地址的類型之前,所述方法還包括:
通過外網(wǎng)服務(wù)器接收所述移動(dòng)終端發(fā)送的所述mac地址設(shè)置信息;
根據(jù)mac地址的類型對(duì)mac地址設(shè)置信息中mac地址進(jìn)行分別存儲(chǔ),其中若mac地址為有效mac地址,則將該mac地址及其上網(wǎng)限制時(shí)間存儲(chǔ)至第一結(jié)構(gòu)體數(shù)組中,并為該mac地址分配計(jì)時(shí)標(biāo)識(shí)符變量和上網(wǎng)標(biāo)識(shí)符變量,將該上網(wǎng)標(biāo)識(shí)符變量置為無效;若mac地址為強(qiáng)制斷網(wǎng)mac地址,則將該mac地址存儲(chǔ)在本地源地址存儲(chǔ)單元中。
在另一種可選的實(shí)現(xiàn)方式中,所述針對(duì)訪問所述ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,根據(jù)該mac地址以及通過外網(wǎng)服務(wù)器從移動(dòng)終端接收到的mac地址設(shè)置信息,確定該mac地址的類型包括:
針對(duì)訪問所述ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,分別判斷該mac地址是否與所述第一結(jié)構(gòu)體數(shù)組中各個(gè)有效mac地址、所述本地源地址存儲(chǔ)單元中各個(gè)強(qiáng)制斷網(wǎng)mac地址相同;
若該mac地址與所述有效mac地址相同,則將所述第一結(jié)構(gòu)體數(shù)組中對(duì)應(yīng)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量置為有效,并將其計(jì)時(shí)標(biāo)識(shí)符變量記錄為當(dāng)前時(shí)間;
若該mac地址與所述強(qiáng)制斷網(wǎng)mac地址相同,則利用該mac地址組裝解除鏈接請(qǐng)求報(bào)文,并將該解除鏈接請(qǐng)求報(bào)文發(fā)送給所述ap直至所述ap返回解除鏈接成功報(bào)文;
若該mac地址與各個(gè)有效mac地址、各個(gè)強(qiáng)制斷網(wǎng)mac地址都不相同,則將該mac地址標(biāo)記為無效mac地址,并將該無效mac地址存儲(chǔ)在第二結(jié)構(gòu)體數(shù)組中,為該無效mac地址分配上網(wǎng)標(biāo)識(shí)符變量,將該上網(wǎng)標(biāo)識(shí)符變量置為有效;
針對(duì)所述第一結(jié)構(gòu)體數(shù)組中上網(wǎng)標(biāo)識(shí)符變量有效的每個(gè)有效mac地址,識(shí)別出的各個(gè)mac地址都與該有效mac地址不相同,則將該有效mac地址的上網(wǎng)標(biāo)識(shí)符變量置為無效。
在另一種可選的實(shí)現(xiàn)方式中,在根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析之前,所述方法還包括:將所述源地址存儲(chǔ)單元中的mac地址恢復(fù)為所述監(jiān)控設(shè)備的mac地址。
在另一種可選的實(shí)現(xiàn)方式中,所述根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析,并將所述分析的結(jié)果通過外網(wǎng)發(fā)送給所述移動(dòng)終端,以實(shí)現(xiàn)所述移動(dòng)終端對(duì)wifi網(wǎng)絡(luò)的監(jiān)控包括:
輪詢所述第一結(jié)構(gòu)體數(shù)組中各個(gè)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量是否有效,若所述第一結(jié)構(gòu)體數(shù)組中對(duì)應(yīng)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量有效,則利用對(duì)應(yīng)有效mac地址及其計(jì)時(shí)標(biāo)識(shí)符變量組裝有效mac在線報(bào)文,并通過外網(wǎng)服務(wù)器將所述有效mac在線報(bào)文發(fā)送給所述移動(dòng)終端,以使所述移動(dòng)終端根據(jù)所述計(jì)時(shí)標(biāo)識(shí)符變量所記錄的對(duì)應(yīng)有效mac上線時(shí)間以及當(dāng)前時(shí)間,確定對(duì)應(yīng)有效mac的上網(wǎng)實(shí)際時(shí)間,并對(duì)所述上網(wǎng)實(shí)際時(shí)間進(jìn)行顯示,在所述上網(wǎng)實(shí)際時(shí)間超過對(duì)應(yīng)有效mac的上網(wǎng)限制時(shí)間時(shí),通知用戶對(duì)應(yīng)有效mac地址上網(wǎng)超時(shí);
輪詢所述第二結(jié)構(gòu)體數(shù)組中各個(gè)無效mac地址的上網(wǎng)標(biāo)識(shí)符變量是否有效,若所述第二結(jié)構(gòu)體數(shù)組中對(duì)應(yīng)無效mac地址的上網(wǎng)標(biāo)識(shí)符變量有效,則利用對(duì)應(yīng)無效mac地址組裝無效mac在線報(bào)文,并通過外網(wǎng)服務(wù)器將所述無效mac在線報(bào)文發(fā)送給所述移動(dòng)終端,以使所述移動(dòng)終端進(jìn)行密碼泄露預(yù)警。
在另一種可選的實(shí)現(xiàn)方式中,在根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析之前,所述方法還包括:與ap建立連接;
在將所述分析的結(jié)果通過外網(wǎng)發(fā)送給所述移動(dòng)終端之后,所述方法還包括:接收所述移動(dòng)終端在對(duì)應(yīng)有效mac地址上網(wǎng)超時(shí)和/或無效mac在線時(shí)通過外網(wǎng)服務(wù)器發(fā)送的強(qiáng)制斷網(wǎng)指令;
利用所述強(qiáng)制斷網(wǎng)指令中對(duì)應(yīng)有效mac地址和/或無效mac地址組裝解除鏈接請(qǐng)求報(bào)文,并將該解除鏈接請(qǐng)求報(bào)文發(fā)送給ap直至ap返回解除鏈接成功報(bào)文。
在另一種可選的實(shí)現(xiàn)方式中,在根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析之前,所述方法還包括:與ap建立連接;
在將所述分析的結(jié)果通過外網(wǎng)發(fā)送給所述移動(dòng)終端之后,所述方法還包括:接收所述移動(dòng)終端通過外網(wǎng)服務(wù)器發(fā)送的密碼修改報(bào)文;
將所述密碼修改報(bào)文發(fā)送給所述ap,以在所述ap上實(shí)現(xiàn)密碼修改。
本發(fā)明的有益效果是:
本發(fā)明通過搭建監(jiān)控設(shè)備,基于從ap信道上獲取的wifi報(bào)文來確定訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址,可以避免必須采用支持mac地址查看功能的ap,并且監(jiān)控設(shè)備可以通過外網(wǎng)服務(wù)器與移動(dòng)終端連接,可以不必限定只能在局域網(wǎng)對(duì)訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址進(jìn)行查詢,并且監(jiān)控設(shè)備會(huì)將訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址自動(dòng)反饋給移動(dòng)終端,不必執(zhí)行復(fù)雜的操作來查看,從而降低了網(wǎng)絡(luò)局限性和操作復(fù)雜度;此外,移動(dòng)終端可以對(duì)訪問ap的網(wǎng)絡(luò)設(shè)備的權(quán)限進(jìn)行設(shè)置,監(jiān)控設(shè)備根據(jù)該設(shè)置權(quán)限,對(duì)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析并反饋給移動(dòng)終端,從而可以實(shí)現(xiàn)移動(dòng)終端對(duì)wifi網(wǎng)絡(luò)的監(jiān)控。
附圖說明
圖1是本發(fā)明wifi網(wǎng)絡(luò)監(jiān)控方法的應(yīng)用場(chǎng)景示意圖;
圖2是本發(fā)明wifi網(wǎng)絡(luò)監(jiān)控方法的一個(gè)實(shí)施例流程圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
在本發(fā)明的描述中,除非另有規(guī)定和限定,需要說明的是,術(shù)語(yǔ)“連接”應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個(gè)元件內(nèi)部的連通,可以是直接相連,也可以通過中間媒介間接相連,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)的具體含義。
參見圖1,為本發(fā)明wifi網(wǎng)絡(luò)監(jiān)控方法的應(yīng)用場(chǎng)景示意圖。在應(yīng)用該wifi網(wǎng)絡(luò)監(jiān)控方法時(shí)涉及到圖1所示的ap110、監(jiān)控設(shè)備120、外網(wǎng)服務(wù)器130和移動(dòng)終端140,其中監(jiān)控設(shè)備120可以通過局域網(wǎng)內(nèi)的ap110與外網(wǎng)服務(wù)器130建立連接后,與移動(dòng)終端140建立連接;還可以基于其它通信網(wǎng)絡(luò)與外網(wǎng)服務(wù)器130建立連接后,再與移動(dòng)終端140建立連接。
參見圖2,為本發(fā)明wifi網(wǎng)絡(luò)監(jiān)控方法的一個(gè)實(shí)施例流程圖。該wifi網(wǎng)絡(luò)監(jiān)控方法應(yīng)用在監(jiān)控設(shè)備側(cè),包括以下步驟:
s201、獲取ap所處信道上的wifi報(bào)文。
本實(shí)施例中,監(jiān)控設(shè)備在本地可以存儲(chǔ)有待連接ap的ssid(servicesetidentifier,服務(wù)集標(biāo)識(shí))和驗(yàn)證密碼,其在與ap建立鏈接時(shí),首先在預(yù)設(shè)的第一類信道(例如ap存在概率較大的1/6/11信道)上搜索該ap的ssid,若搜索到,則向ap發(fā)送包括驗(yàn)證密碼的建立鏈接請(qǐng)求,以與ap建立連接;若未搜索到,則擴(kuò)大信道搜索范圍(例如在1-13信道的其他信道范圍內(nèi)),對(duì)該ap的ssid進(jìn)行搜索,直至搜索到該ap的ssid。其中,監(jiān)控設(shè)備向ap發(fā)送建立鏈接請(qǐng)求,ap在接收到建立鏈接請(qǐng)求后,會(huì)對(duì)驗(yàn)證密碼進(jìn)行驗(yàn)證,若驗(yàn)證通過,監(jiān)控設(shè)備對(duì)自身mac地址進(jìn)行存儲(chǔ)。另外,監(jiān)控設(shè)備可以直接基于ap提供的wifi網(wǎng)絡(luò)與外網(wǎng)服務(wù)器建立連接,也可以基于其他網(wǎng)絡(luò)(諸如3g/4g等)與外網(wǎng)服務(wù)器建立連接,從而與移動(dòng)終端建立連接。
監(jiān)控設(shè)備與移動(dòng)終端建立連接后,移動(dòng)終端可以通過外網(wǎng)服務(wù)器向所述監(jiān)控設(shè)備發(fā)送mac地址設(shè)置信息,該mac地址設(shè)置信息可以包括有效mac地址及其上網(wǎng)限制時(shí)間和/或強(qiáng)制斷網(wǎng)mac地址。用戶通過在移動(dòng)終端上對(duì)有效mac地址的上網(wǎng)限制時(shí)間進(jìn)行設(shè)置,可以對(duì)授權(quán)訪問ap的網(wǎng)絡(luò)設(shè)備的上網(wǎng)時(shí)間進(jìn)行限制;通過在移動(dòng)終端上對(duì)強(qiáng)制斷網(wǎng)mac地址進(jìn)行設(shè)置,可以對(duì)黑名單中試圖訪問ap的網(wǎng)絡(luò)設(shè)備執(zhí)行強(qiáng)制斷網(wǎng)。
監(jiān)控設(shè)備在接收到移動(dòng)終端發(fā)送的mac地址設(shè)置信息后,可以根據(jù)mac地址的類型對(duì)mac地址設(shè)置信息中的mac地址進(jìn)行分別存儲(chǔ),若該mac地址為有效mac地址時(shí),將該mac地址及其上網(wǎng)限制時(shí)間存儲(chǔ)至第一結(jié)構(gòu)體數(shù)組target_sa中并為該mac地址分配計(jì)時(shí)標(biāo)識(shí)符變量onlinetime和上網(wǎng)標(biāo)識(shí)符變量onlineflag,將該上網(wǎng)標(biāo)識(shí)符變量onlineflag置為無效(例如onlineflag=0);若mac地址為強(qiáng)制斷網(wǎng)mac地址,則將該mac地址存儲(chǔ)至本地源地址存儲(chǔ)單元中。
當(dāng)監(jiān)控設(shè)備再次接收到移動(dòng)終端發(fā)送的mac地址設(shè)置信息后,可以首先判斷第一結(jié)構(gòu)體數(shù)組target_sa和本地源地址存儲(chǔ)單元中是否存在該mac地址,若存在,則在該mac地址存在于第一結(jié)構(gòu)體數(shù)組target_sa中但為強(qiáng)制斷網(wǎng)mac地址時(shí),將該mac地址從第一結(jié)構(gòu)體數(shù)組target_sa中刪除并添加至強(qiáng)制斷網(wǎng)mac地址中;在該mac地址存在于本地源地址存儲(chǔ)單元中但為有效mac地址時(shí),將該mac地址從本地源地址存儲(chǔ)單元中刪除并添加至第一結(jié)構(gòu)體數(shù)組target_sa中,為該mac地址分配計(jì)時(shí)標(biāo)識(shí)符變量onlinetime和上網(wǎng)標(biāo)識(shí)符變量onlineflag,將該上網(wǎng)標(biāo)識(shí)符變量onlineflag置為無效;在該mac地址存在于第一結(jié)構(gòu)體數(shù)組target_sa中且為有效mac地址時(shí),判斷該mac地址設(shè)置信息中該mac地址的上網(wǎng)限制時(shí)間是否與第一結(jié)構(gòu)體數(shù)組target_sa中該mac地址的上網(wǎng)限制時(shí)間相同,若相同,則不做處理,否則,將第一結(jié)構(gòu)體數(shù)組target_sa中該mac地址的上網(wǎng)限制時(shí)間替換成該mac地址設(shè)置信息中該mac地址的上網(wǎng)限制時(shí)間。若監(jiān)控設(shè)備再次接收到的mac地址設(shè)置信息中,第一結(jié)構(gòu)體數(shù)組target_sa和本地源地址存儲(chǔ)單元中都不存在該mac地址,則如上述一樣,根據(jù)mac地址的類型對(duì)mac地址設(shè)置信息中的mac地址進(jìn)行分別存儲(chǔ)。
監(jiān)控設(shè)備在進(jìn)行wifi網(wǎng)絡(luò)監(jiān)控時(shí)可以首先運(yùn)行sniffer_run函數(shù),進(jìn)入sniffer模式。在sniffer模式下,監(jiān)控設(shè)備可以首先啟動(dòng)第一計(jì)時(shí)器timer1,并注冊(cè)超時(shí)函數(shù)station_run,由于網(wǎng)絡(luò)設(shè)備在訪問ap時(shí)會(huì)向ap發(fā)送wifi報(bào)文且wifi報(bào)文包括了該網(wǎng)絡(luò)設(shè)備的mac地址,因此本發(fā)明實(shí)施例為了得到訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址,采用在ap所在信道上截取ap與網(wǎng)絡(luò)設(shè)備之間傳輸?shù)膚ifi報(bào)文的方式。
s202、根據(jù)所述wifi報(bào)文,識(shí)別出訪問該ap的網(wǎng)絡(luò)設(shè)備的mac地址。
本實(shí)施例中,在獲取wifi報(bào)文后,可以首先根據(jù)wifi報(bào)文的類型標(biāo)識(shí)符(type和subtype)判斷wifi報(bào)文是否為數(shù)據(jù)報(bào)文,若是,則判斷wifi報(bào)文中發(fā)送數(shù)據(jù)至基站的標(biāo)識(shí)符(例如tods)是否有效,從基站接收數(shù)據(jù)的標(biāo)識(shí)符是否無效;否則,不對(duì)該wifi報(bào)文繼續(xù)處理。若wifi報(bào)文中的發(fā)送數(shù)據(jù)至基站的標(biāo)識(shí)符有效(例如tods=1)且從基站接收數(shù)據(jù)的標(biāo)識(shí)符無效(例如fromds=0),則確定該wifi報(bào)文中的源mac地址為訪問該ap的網(wǎng)絡(luò)設(shè)備的mac地址,否則不對(duì)該wifi報(bào)文繼續(xù)處理。其中,在獲取wifi報(bào)文后,可以直接對(duì)wifi報(bào)文中的mac報(bào)文頭進(jìn)行分析,而不必對(duì)wifi報(bào)文的其他部分進(jìn)行分析,由此可以減少分析量,提高識(shí)別效率。
由于網(wǎng)絡(luò)設(shè)備在訪問ap時(shí)必然存在數(shù)據(jù)交換,因此本發(fā)明通過在wifi報(bào)文為數(shù)據(jù)報(bào)文時(shí)才對(duì)wifi報(bào)文進(jìn)行處理,從而識(shí)別出訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址,可以提高識(shí)別效率;本發(fā)明通過在wifi報(bào)文中發(fā)送數(shù)據(jù)至基站的標(biāo)識(shí)符有效(例如tods=1),從基站接收數(shù)據(jù)的標(biāo)識(shí)符無效(例如fromds=0)時(shí),確定該wifi報(bào)文中的源mac地址為訪問該ap的網(wǎng)絡(luò)設(shè)備的mac地址,可以在網(wǎng)絡(luò)設(shè)備剛開始請(qǐng)求訪問ap時(shí)就截取其mac地址,從而可以及時(shí)地監(jiān)測(cè)到訪問ap的網(wǎng)絡(luò)設(shè)備。
s203、針對(duì)訪問所述ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,根據(jù)該mac地址以及通過外網(wǎng)服務(wù)器從移動(dòng)終端接收到的mac地址設(shè)置信息,確定該mac地址的類型。
本實(shí)施例中,在識(shí)別出訪問該ap的網(wǎng)絡(luò)設(shè)備的mac地址之后,監(jiān)控設(shè)備可以針對(duì)訪問該ap的每個(gè)網(wǎng)絡(luò)設(shè)備的mac地址,將該mac地址與本源地址存儲(chǔ)單元存儲(chǔ)的各個(gè)強(qiáng)制斷網(wǎng)mac地址、第一結(jié)構(gòu)體數(shù)組target_sa中存儲(chǔ)的各個(gè)有效mac地址進(jìn)行分別比較,判斷該mac地址是否與各個(gè)有效mac地址和強(qiáng)制斷網(wǎng)mac地址相同,若該mac地址與有效mac地址相同,則將該第一結(jié)構(gòu)體數(shù)組target_sa中對(duì)應(yīng)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag置為有效(例如置onlineflag為1,由此表示對(duì)應(yīng)的有效mac上線),并將其計(jì)時(shí)標(biāo)識(shí)符變量記錄為當(dāng)前時(shí)間。若該mac地址與強(qiáng)制斷網(wǎng)mac地址相同,則模擬該mac地址對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備,利用該mac地址作為源地址組裝解除鏈接請(qǐng)求報(bào)文disassociationrequestframe,并將該解除鏈接請(qǐng)求報(bào)文發(fā)送給ap直至ap返回解除鏈接成功報(bào)文disassociationconfirmsuccess。若該mac地址與各個(gè)有效mac地址、各個(gè)強(qiáng)制斷網(wǎng)mac地址都不相同,則將該mac地址標(biāo)記為無效mac地址,將該無效mac地址存儲(chǔ)在第二結(jié)構(gòu)體數(shù)組wild_sa中,并為該無效mac地址分配上網(wǎng)標(biāo)識(shí)符變量onlineflag,將該上網(wǎng)標(biāo)識(shí)符變量onlineflag置為有效(如置onlineflag為1)。在確定出訪問ap的各個(gè)網(wǎng)絡(luò)設(shè)備的mac地址的類型后,監(jiān)控設(shè)備可以判斷第一計(jì)時(shí)器timer1是否到達(dá)第一預(yù)設(shè)時(shí)間,若是,則執(zhí)行步驟s204,否則,返回執(zhí)行步驟s201。
另外,若在第一計(jì)時(shí)器timer1對(duì)應(yīng)的第一預(yù)設(shè)時(shí)間內(nèi),針對(duì)所述第一結(jié)構(gòu)體數(shù)組target_sa中上網(wǎng)標(biāo)識(shí)符變量onlineflag有效的每個(gè)有效mac地址,識(shí)別出的各個(gè)mac地址都與該有效mac地址不同,則將該有效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag置為無效(例如onlineflag置為0),由此表示對(duì)應(yīng)的有效mac離線。本發(fā)明通過在sniffer模式下設(shè)置第一定時(shí)器,可以獲取較多的wifi報(bào)文,為網(wǎng)絡(luò)設(shè)備上網(wǎng)行為分析提供更多的依據(jù);本發(fā)明中針對(duì)上網(wǎng)標(biāo)識(shí)符變量onlineflag有效的各個(gè)有效mac地址,若在第一預(yù)設(shè)時(shí)間內(nèi)識(shí)別出的各個(gè)mac地址都不與該有效mac地址相同,則表示該有效mac離線,本發(fā)明通過對(duì)第一預(yù)設(shè)時(shí)間進(jìn)行設(shè)置,可以準(zhǔn)確判斷出該網(wǎng)絡(luò)設(shè)備是否離線,避免因網(wǎng)絡(luò)設(shè)備暫停訪問ap造成的判斷錯(cuò)誤。
s204、根據(jù)該mac地址的類型對(duì)對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析,并將所述分析的結(jié)果通過外網(wǎng)服務(wù)器發(fā)送給所述移動(dòng)終端,以實(shí)現(xiàn)所述移動(dòng)終端對(duì)wifi網(wǎng)絡(luò)的監(jiān)控。
本實(shí)施例中,監(jiān)控設(shè)備觸發(fā)函數(shù)station_run,監(jiān)控設(shè)備進(jìn)入station模式,啟動(dòng)第二計(jì)時(shí)器timer2,基于ap提供的wifi網(wǎng)絡(luò)或其他網(wǎng)絡(luò)與外網(wǎng)服務(wù)器建立連接,通知移動(dòng)終端監(jiān)控設(shè)備上線。其中,為了保證用戶可以通過移動(dòng)終端隨時(shí)對(duì)mac地址進(jìn)行設(shè)置,移動(dòng)終端可以通過外網(wǎng)服務(wù)器向監(jiān)控設(shè)備發(fā)送上線請(qǐng)求,監(jiān)控設(shè)備在接收到上線請(qǐng)求后,切換至station模式,與外網(wǎng)服務(wù)器建立連接,從而與移動(dòng)終端建立會(huì)話。另外,由于在sniffer模式中,監(jiān)控設(shè)備會(huì)模擬強(qiáng)制斷網(wǎng)mac地址對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備,因此為了保證監(jiān)控設(shè)備能夠以自己的身份與移動(dòng)終端進(jìn)行通信,當(dāng)監(jiān)控設(shè)備進(jìn)入station模式后,可以將源地址存儲(chǔ)單元中的mac地址恢復(fù)為監(jiān)控設(shè)備自身的mac地址。
監(jiān)控設(shè)備上線后,可以輪詢第一結(jié)構(gòu)體數(shù)組target_sa中各個(gè)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag是否有效,若第一結(jié)構(gòu)體數(shù)組target_sa中對(duì)應(yīng)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag有效,則利用對(duì)應(yīng)有效mac地址及其計(jì)時(shí)標(biāo)識(shí)符變量onlinetime,組裝有效mac在線報(bào)文,并將該有效mac在線報(bào)文發(fā)送給外網(wǎng)服務(wù)器,再由外網(wǎng)服務(wù)器轉(zhuǎn)發(fā)給移動(dòng)終端。移動(dòng)終端在接收到有效mac在線報(bào)文后,首先根據(jù)有效mac在線報(bào)文中的計(jì)時(shí)標(biāo)識(shí)符變量onlinetime確定記錄的對(duì)應(yīng)有效mac的上線時(shí)間,然后根據(jù)該上線時(shí)間及當(dāng)前時(shí)間,確定對(duì)應(yīng)有效mac地址的上網(wǎng)實(shí)際時(shí)間,判斷該上網(wǎng)實(shí)際時(shí)間是否超過上網(wǎng)限制時(shí)間,若是,則通知(例如信息提醒或者振鈴提醒等)用戶對(duì)應(yīng)有效mac上網(wǎng)超時(shí),否則,將對(duì)應(yīng)有效mac地址的上網(wǎng)實(shí)際時(shí)間顯示在移動(dòng)終端上,其中若上網(wǎng)限制時(shí)間為0,則表示對(duì)應(yīng)有效mac的上網(wǎng)時(shí)間不受限制。另外,若第一結(jié)構(gòu)體數(shù)組target_sa中對(duì)應(yīng)有效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag無效,則利用對(duì)應(yīng)有效mac地址組裝有效mac離線報(bào)文發(fā)送給外網(wǎng)服務(wù)器,再由外網(wǎng)服務(wù)器轉(zhuǎn)發(fā)給移動(dòng)終端,在移動(dòng)終端會(huì)顯示對(duì)應(yīng)的有效mac離線。
此外,監(jiān)控設(shè)備可以輪詢第二結(jié)構(gòu)體數(shù)組wild_sa中各個(gè)無效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag是否有效,若第二結(jié)構(gòu)體數(shù)組wild_sa中對(duì)應(yīng)無效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag有效,則利用對(duì)應(yīng)無效mac地址組裝無效mac在線報(bào)文,并將該無效mac在線報(bào)文發(fā)送給外網(wǎng)服務(wù)器,再由外網(wǎng)服務(wù)器發(fā)送給移動(dòng)終端。移動(dòng)終端只要收到一個(gè)無效mac在線報(bào)文就會(huì)觸發(fā)移動(dòng)終端預(yù)警,警告用戶無效mac入侵wifi網(wǎng)絡(luò),wifi密碼可能泄露,提醒用戶修改wifi密碼,用戶在接收提醒后,可以將修改后的密碼通過外網(wǎng)服務(wù)器傳輸給監(jiān)控設(shè)備,再由監(jiān)控設(shè)備傳輸給ap,從而實(shí)現(xiàn)密碼的修改。若第二結(jié)構(gòu)體數(shù)組wild_sa中對(duì)應(yīng)無效mac地址的上網(wǎng)標(biāo)識(shí)符變量onlineflag無效,則利用對(duì)應(yīng)無效mac地址組裝無效mac離線報(bào)文發(fā)送給外網(wǎng)服務(wù)器,再由外網(wǎng)服務(wù)器轉(zhuǎn)發(fā)給移動(dòng)終端,在移動(dòng)終端顯示無效mac離線,此時(shí)表示網(wǎng)絡(luò)設(shè)備已經(jīng)入侵wifi網(wǎng)絡(luò),但入侵網(wǎng)絡(luò)設(shè)備離線。
由于在移動(dòng)終端會(huì)對(duì)有效mac和無效mac的在線和離線情況進(jìn)行顯示,并且會(huì)將有效mac上網(wǎng)超時(shí)以及無效mac在線的情況及時(shí)通知用戶,因此當(dāng)用戶發(fā)現(xiàn)有效mac的上網(wǎng)超時(shí)以及無效mac在線時(shí),可以將強(qiáng)制斷網(wǎng)指令發(fā)送給外網(wǎng)服務(wù)器,再由外網(wǎng)服務(wù)器轉(zhuǎn)發(fā)給監(jiān)控設(shè)備。監(jiān)控設(shè)備在接收到強(qiáng)制斷網(wǎng)指令后,可以模擬該超時(shí)有效mac地址和/或在線無效mac地址對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備,利用強(qiáng)制斷網(wǎng)指令中對(duì)應(yīng)的有效mac地址和/或無效mac地址作為源地址組裝解除鏈接請(qǐng)求報(bào)文,并將該解除鏈接請(qǐng)求報(bào)文發(fā)送給ap直至ap返回解除鏈接成功報(bào)文。
監(jiān)控設(shè)備判斷第二計(jì)時(shí)器timer2是否到達(dá)預(yù)設(shè)的第二時(shí)間,若是,則斷開與外網(wǎng)服務(wù)器的連接,從而斷開與移動(dòng)終端的連接,監(jiān)控設(shè)備運(yùn)行sniffer_run函數(shù),進(jìn)入sniffer模式,返回執(zhí)行步驟s201;否則監(jiān)控設(shè)備繼續(xù)執(zhí)行本步驟。由此,監(jiān)控設(shè)備可以在sniffer模式和station模式之間不斷切換,在sniffer模式下監(jiān)控設(shè)備截取wifi報(bào)文,在station模式下監(jiān)控設(shè)備與ap、移動(dòng)終端建立連接,從而可以實(shí)現(xiàn)對(duì)wifi網(wǎng)絡(luò)的監(jiān)控。本發(fā)明通過在station模式下設(shè)置第二定時(shí)器,而非輪詢完第一結(jié)構(gòu)體數(shù)組和第二結(jié)構(gòu)體數(shù)組后直接進(jìn)入sniffer模式,可以使用戶有更多的時(shí)間來確定是否執(zhí)行密碼修改操作以及對(duì)超時(shí)有效mac和/或在線無效mac執(zhí)行強(qiáng)制斷網(wǎng)操作,并且由于此時(shí)監(jiān)控設(shè)備處于station模式,仍然通過外網(wǎng)服務(wù)器與移動(dòng)終端保持連接,因此用戶通過移動(dòng)終端發(fā)送強(qiáng)制斷網(wǎng)報(bào)文后,監(jiān)控設(shè)備可以立即接收到強(qiáng)制斷網(wǎng)報(bào)文,用戶不必在發(fā)送上線請(qǐng)求后強(qiáng)制將監(jiān)控設(shè)備從sniffer模式切換至station模式來接收強(qiáng)制斷網(wǎng)報(bào)文,從而提高操作執(zhí)行的及時(shí)性。
由上述實(shí)施例可見,本發(fā)明通過搭建監(jiān)控設(shè)備,基于從ap信道上獲取的wifi報(bào)文來確定訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址,可以避免必須采用支持mac地址查看功能的ap,并且監(jiān)控設(shè)備可以通過外網(wǎng)服務(wù)器與移動(dòng)終端連接,可以不必限定只能在局域網(wǎng)對(duì)訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址進(jìn)行查詢,并且監(jiān)控設(shè)備會(huì)將訪問ap的網(wǎng)絡(luò)設(shè)備的mac地址自動(dòng)反饋給移動(dòng)終端,不必執(zhí)行復(fù)雜的操作來查看,從而降低了網(wǎng)絡(luò)局限性和操作復(fù)雜度;此外,移動(dòng)終端可以對(duì)訪問ap的網(wǎng)絡(luò)設(shè)備進(jìn)行權(quán)限設(shè)置,監(jiān)控設(shè)備根據(jù)該權(quán)限設(shè)置,對(duì)網(wǎng)絡(luò)設(shè)備的上網(wǎng)行為進(jìn)行分析并反饋給移動(dòng)終端,從而可以實(shí)現(xiàn)移動(dòng)終端對(duì)wifi網(wǎng)絡(luò)的監(jiān)控。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。