麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種無線MAC嗅探掃描方法及其裝置與流程

文檔序號:11139734閱讀:1446來源:國知局
一種無線MAC嗅探掃描方法及其裝置與制造工藝

本發明涉及通信技術領域,尤其涉及一種無線MAC嗅探掃描方法及其裝置。



背景技術:

在無線系統中,為了便于無線系統AP(Access Point,訪問接入點)的部署,需要了解AP附近是否存在未關聯AP及已關聯本AP的無線終端,,從而提供更加精確的無線服務,這一過程就需要通過AP掃描功能實現,一般我們將把這功能叫做無線MAC(Media Access Control,媒體訪問控制)嗅探掃描,掃描獲取的信息包括MAC地址、RSSI(Received Signal Strength Indication,接收信號強度)以及噪底。

無線MAC嗅探掃描是通過截獲無線終端/未關聯AP發送的probe req(探測請求)廣播包,來獲得無線終端/未關聯AP的信息。然而收包一般是通過軟中斷機制實現的,也就是每收到一個包都會產生一個軟中斷,但是,內核中軟中斷不能被長時間占用。

如果每收到一個probe req廣播包就相應地產生一個軟中斷,然后把probe req廣播包直接上報給用戶進程,這個過程雖然不會讓軟中斷時間過長,但若整個區域存在大量無線終端/未關聯AP同時發送probe req廣播包時,會導致內核不停的像用戶進程發送消息;且接收到probe req廣播包會出現較多MAC地址重復的包,無疑會上報大量MAC地址重復的無用信息,不但消耗大量內核CPU而且會過多占用內核層和用戶層之間的通信通道。

另外,如果每收到一個probe req廣播包就產生一個軟中斷,然后過濾MAC都中相同的包再緩存到隊列,這個過程為了數據的一致性要對隊列加鎖;且數據的查找、插入、刪除等操作都將占用軟中斷時長,容易導致軟中斷異常而導致內核崩潰。



技術實現要素:

針對上述問題,本發明提供了一種無線MAC嗅探掃描方法及其裝置,有效解決了抓取探測數據包時內核軟中斷占用時間過長的問題。

本發明提供的技術方案如下:

一種無線MAC嗅探掃描方法,應用于無線接入設備,包括:

S1抓取終端發送的探測數據包;

S2無線接入設備內核進入軟中斷;

S3將探測數據包放入緩沖區進行緩存,并生成探測數據包記錄;

S4無線接入設備內核結束軟中斷,正常運行;

S5預設內核線程從緩沖區讀取探測數據包記錄進行處理。

在本技術方案中,無線接入設備抓取到終端發送的探測數據包之后隨即將其緩存入緩沖區中,而不是立馬對探測數據包進行處理;之后,采用預設內核線程對探測到的數據包進行處理。將運算量大的數據處理過程轉移到的預先添加的內核進程中進行處理,有效避免了由于數據處理導致內核軟中斷占用時間過長的問題。

進一步優選地,在步驟S3中具體包括,將探測報數據放入環形緩沖區進行緩存。

在本技術方案中,預設內核線程和內核軟中斷通過環形緩沖區共享數據,且緩沖區為無鎖的環形緩沖區,不會對無線接入設備中運行的軟中斷程序造成任何影響,有效提高了系統的穩定性能。

進一步優選地,在步驟S5中具體包括:

S51預設內核線程讀取緩沖區,獲取探測數據包記錄;

S52解析讀取到的探測數據包記錄,并對MAC地址重復的探測數據包記錄進行過濾;

S53基于探測數據包的MAC地址變更內核哈希表;

S54上報變更后內核哈希表至用戶空間。

在本技術方案中,在預設的內核線程中對探測數據包進行過濾處理,以此將無線接入設備的內核隔離,若處理過程出現問題,只是預設內核線程出現問題,不會導致內核崩潰,提高了系統的穩定性能。

進一步優選地,在步驟S52中,還解析出每條記錄中探測數據包的背景噪聲和接收時間,以及發射該探測數據包終端的信號強度。

進一步優選地,在步驟S53中具體包括:

基于探測數據包的MAC地址在當前內核哈希表中進行查找;

若在當前內核哈希表中查找到相同的MAC地址,則更新該MAC地址關聯的信號強度、背景噪聲以及接收時間;

若在當前內核哈希表中未查找到相同的MAC地址,則將該探測數據包的MAC地址、信號強度、背景噪聲以及接收時間形成新的記錄插入當前內核哈希表。

進一步優選地,在步驟S54中具體包括:

當變更后內核哈希表中預設空間滿或預設上報周期超時,上報變更后內核哈希表至用戶空間。

本發明還提供了一種無線MAC嗅探掃描裝置,應用于無線接入設備,包括:

數據包抓取模塊,用于抓取終端發送的探測數據包;

內核軟中斷模塊,基于數據包抓取模塊抓取到的探測數據包軟中斷無線接入設備內核;

緩存模塊,用于在無線接入設備內核軟中斷之后,緩存數據包抓取模塊探測到的探測數據包,并生成探測數據包記錄;

內核軟中斷結束模塊,用于在探測數據包緩存入緩存模塊之后,結束無線接入設備內核的軟中斷;

數據處理模塊,用于從緩沖區讀取探測數據包記錄進行處理。

在本技術方案中,數據包抓取模塊抓取到終端發送的探測數據包之后隨即將其緩存入緩存模塊中,而不是立馬對探測數據包進行處理;之后,采用數據處理模塊(內核進程)對探測到的數據包進行處理。將運算量大的數據處理過程轉移到的預先添加的數據處理模塊(內核進程)中進行處理,有效避免了由于數據處理導致內核軟中斷占用時間過長的問題。

進一步優選地,所述緩存模塊為一環形緩沖區。

在本技術方案中,緩沖區為無鎖的環形緩沖區,不會對無線接入設備中運行的軟中斷程序造成任何影響,有效提高了系統的穩定性能。

進一步優選地,數據處理模塊中包括:

數據讀取單元,用于讀取緩沖區,獲取探測數據包記錄;

數據包解析單元,用于解析讀取到的探測數據包記錄,獲取探測數據包的MAC地址;具體探測數據包記錄的解析結果包括:每條記錄中探測數據包的MAC地址、背景噪聲和接收時間,以及發射該探測數據包終端的信號強度;

數據包過濾單元,基于數據包解析單元解析出的MAC地址對MAC地址重復的探測數據包記錄進行過濾;

哈希表變更單元,基于數據包解析單元解析出的MAC地址變更內核哈希表;

哈希表上報單元,用于將變更后的內核哈希表上報至用戶空間。

在本技術方案中,在數據處理模塊(預設內核線程)中對探測數據包進行過濾處理,以此將無線接入設備的內核隔離,若處理過程出現問題,只是預設內核線程出現問題,不會導致內核崩潰,提高了系統的穩定性能。

進一步優選地,數據處理模塊中還包括一MAC地址查找單元,基于探測數據包的MAC地址在當前內核哈希表中進行查找;

若在當前內核哈希表中查找到相同的MAC地址,則哈希表變更單元更新該MAC地址關聯的信號強度、背景噪聲以及接收時間;

若在當前內核哈希表中未查找到相同的MAC地址,則哈希表變更單元將該探測數據包的MAC地址、信號強度、背景噪聲以及接收時間形成新的記錄插入當前內核哈希表。

在本發明提供的無線MAC嗅探掃描方法及其裝置中,在抓取終端發送的探測數據包之前在內核中添加一條內核線程;之后,將抓取到的探測數據包直接放進緩沖區中進行緩存;最后,預設內核線程讀取該緩沖區中的探測數據包對其進行處理。將運算量大的數據處理過程轉移到的預先添加的內核進程中進行處理,有效避免了由于數據處理導致內核軟中斷占用時間過長的問題。同時將無線接入設備的內核隔離,若處理過程出現問題,只是預設內核線程出現問題,不會導致內核崩潰,提高了系統的穩定性能。

附圖說明

下面將以明確易懂的方式,結合附圖說明優選實施方式,對上述特性、技術特征、優點及其實現方式予以進一步說明。

圖1為本發明中無線MAC嗅探掃描方法流程示意圖;

圖2為本發明中預設內核線程處理探測數據包流程示意圖;

圖3為本發明中無線MAC嗅探掃描裝置示意圖;

圖4為本發明中數據處理模塊一種實施方式示意圖;

圖5為本發明中數據處理模塊另一種實施方式示意圖。

附圖標號說明:

100-無線MAC嗅探掃描裝置,110-數據包抓取模塊,120-內核軟中斷模塊,130-緩存模塊,140-內核軟中斷結束模塊,150-數據處理模塊,151-數據讀取單元,152-數據包解析單元,153-數據包過濾單元,154-哈希表變更單元,155-哈希表上報單元,156-MAC地址查找單元。

具體實施方式

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對照附圖說明本發明的具體實施方式。顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖,并獲得其他的實施方式。

如圖1所示為本發明提供的無線MAC嗅探掃描方法流程示意圖,具體該無線MAC嗅探掃描方法應用于無線接入設備,從圖中可以看出,在該無線MAC嗅探掃描方法中包括:S1抓取終端發送的探測數據包(probe req包);S2無線接入設備內核進入軟中斷;S3將探測數據包放入緩沖區進行緩存,并生成探測數據包記錄;S4無線接入設備內核結束軟中斷,正常運行;S5預設內核線程從緩沖區讀取探測數據包記錄進行處理。

具體來說,在步驟S3中具體包括,將探測報數據放入環形緩沖區進行緩存。由緩沖區為無鎖的環形緩沖區,不會對無線接入設備中運行的軟中斷程序造成任何影響,有效提高了系統的穩定性能。另外,上述無線接入設備包括無線AP、無線路由器等,在此不做限定。

在一個具體實施例中,上述環形緩沖區的大小設置為512條記錄,每條記錄中包括13個字節,共6656個字節;其中,每條記錄中包括的13各字節具體包括:MAC地址6個字節,終端的信號強度(RSSI)1個字節,背景噪聲(Noise Floor)2個字節,接收時間(Timestamp,接收時的時間戳)4個字節。在其他實施例中,環形緩沖區還可以為其他大小,根據實際應用進行設定,在此不做限定。

如圖2所示,在步驟S5預設內核線程從緩沖區讀取探測數據包記錄進行處理中,具體包括:S51預設內核線程讀取緩沖區,獲取探測數據包記錄;S52解析讀取到的探測數據包記錄,并對MAC地址重復的探測數據包記錄進行過濾;S53基于探測數據包的MAC地址變更內核哈希表(KVHLIST);S54上報變更后內核哈希表至用戶空間。

具體,在步驟S52中,對探測數據包記錄進行解析,解析出每條記錄中探測數據包的MAC地址,同時還包括每條記錄中探測數據包的背景噪聲和接收時間,以及發射該探測數據包終端的信號強度。之后,根據每條記錄中探測數據包的MAC地址對探測包記錄進行過濾,將MAC地址相同的記錄去除(這里說的MAC地址具體指源MAC地址,MAC地址相同說明發自同一終端的探測數據包,這樣有效避免了重復無用信息的上報,節約了資源),得到過濾后的探測數據包記錄。之后,在步驟S53中,基于過濾后的探測數據包記錄中每條記錄的MAC地址對內核哈希表進行變更,最后在步驟S54中將變更后的內核哈希表上傳到用戶空間。在這一過程中,在預設的內核線程中對探測數據包進行過濾處理,將無線接入設備的內核隔離出來,若處理過程出現問題,如崩潰等,也只是預設內核線程出現問題,不會導致內核崩潰,無疑提高了系統的穩定性能。

更進一步來說,在步驟S53中對內核哈希表進行變更的過程具體包括:基于探測數據包的MAC地址在當前內核哈希表中進行查找;若在當前內核哈希表中查找到相同的MAC地址,則更新該MAC地址關聯的信號強度、背景噪聲以及接收時間;若在當前內核哈希表中未查找到相同的MAC地址,則將該探測數據包的MAC地址、信號強度、背景噪聲以及接收時間形成新的記錄插入當前內核哈希表。直到變更后內核哈希表中預設空間滿或預設上報周期超時,上報變更后內核哈希表至用戶空間,實現無線MAC嗅探掃描。

如圖3所示為本發明提供的無線MAC嗅探掃描裝置的結構示意圖,具體該無線MAC嗅探掃描裝置100應用于無線接入設備,從圖中可以看出,在該無線MAC嗅探掃描裝置100中包括:數據包抓取模塊110、內核軟中斷模塊120、緩存模塊130、內核軟中斷結束模塊140以及數據處理模塊150,其中,內核軟中斷模塊與數據包抓取模塊110連接,緩存模塊130與內核軟中斷模塊120連接,內核軟中斷結束模塊140與緩存模塊130連接,數據處理模塊150與內核軟中斷結束模塊140連接。

在工作過程中,首先,使用數據包抓取模塊110抓取終端發送的探測數據包,并在抓取到的探測數據包之后發送信號至內核軟中斷模塊120;內核軟中斷模塊120接收到該信號之后,隨即軟中斷無線接入設備內核,即無線接入設備內核進入軟中斷程序;接著,將抓取到的探測數據包緩存入緩存模塊130并生成探測數據包記錄;且在緩存之后,內核軟中斷結束模塊140結束無線接入設備內核的軟中斷;最后,數據處理模塊150從緩沖區讀取探測數據包記錄進行處理。

具體來說,上述緩存模塊130為一環形緩沖區,由緩沖區為無鎖的環形緩沖區,不會對無線接入設備中運行的軟中斷程序造成任何影響,有效提高了系統的穩定性能。上述數據處理模塊150為一預先添加的內核線程,專用于對抓取到的探測數據包進行處理。另外,上述無線接入設備包括無線AP、無線路由器等,在此不做限定。

在一個具體實施例中,上述環形緩沖區的大小設置為512條記錄,每條記錄中包括13個字節,共6656個字節;其中,每條記錄中包括的13各字節具體包括:MAC地址6個字節,終端的信號強度(RSSI)1個字節,背景噪聲(Noise Floor)2個字節,接收時間(Timestamp,接收時的時間戳)4個字節。在其他實施例中,環形緩沖區還可以為其他大小,根據實際應用進行設定,在此不做限定。

進一步來說,如圖4所示為上述數據處理模塊150一種實施方式示意圖,具體在本實施方式中,在該數據處理模塊150中具體包括:數據讀取單元151、數據包解析單元152、數據包過濾單元153、哈希表變更單元154以及哈希表上報單元155,其中,數據包解析單元152與數據讀取單元151連接,數據包過濾單元153與數據包解析單元152連接,哈希表變更單元154分別與數據讀取單元151、數據包解析單元152以及數據包過濾單元153連接,哈希表上報單元155與哈希表變更單元154連接。

在工作過程中,數據讀取單元151讀取緩沖區,獲取探測數據包記錄;之后,數據包解析單元152對讀取到的探測數據包記錄進行解析,解析出每條記錄中探測數據包的MAC地址,同時還包括每條記錄中探測數據包的背景噪聲和接收時間,以及發射該探測數據包終端的信號強度。之后,數據包過濾單元153根據每條記錄中探測數據包的MAC地址對探測包記錄進行過濾,將MAC地址相同的記錄去除,得到過濾后的探測數據包記錄。接著,哈希表變更單元154基于過濾后的探測數據包記錄中每條記錄的MAC地址對內核哈希表進行變更;最后,哈希表上報單元155將變更后內核哈希表上報至用戶空間。在這一過程中,在預設的內核線程中對探測數據包進行過濾處理,將無線接入設備的內核隔離出來,若處理過程出現問題,如崩潰等,也只是預設內核線程出現問題,不會導致內核崩潰,無疑提高了系統的穩定性能。

對上述實施方式進行改進,如圖5所示,在該數據處理模塊150中除了包括數據讀取單元151、數據包解析單元152、數據包過濾單元153、哈希表變更單元154以及哈希表上報單元155之外,還包括一MAC地址查找單元156,其基于探測數據包的MAC地址在當前內核哈希表中進行查找。具體,若在當前內核哈希表中查找到相同的MAC地址,則哈希表變更單元154更新該MAC地址關聯的信號強度、背景噪聲以及接收時間;若在當前內核哈希表中未查找到相同的MAC地址,則哈希表變更單元154將該探測數據包的MAC地址、信號強度、背景噪聲以及接收時間形成新的記錄插入當前內核哈希表。直到變更后內核哈希表中預設空間滿或預設上報周期超時,哈希表上報單元155將變更后內核哈希表上報至用戶空間,實現無線MAC嗅探掃描。

應當說明的是,上述實施例均可根據需要自由組合。以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 乌兰浩特市| 青铜峡市| 阿拉尔市| 尤溪县| 灌阳县| 陇南市| 左贡县| 楚雄市| 台江县| 孟津县| 庄河市| 望江县| 阿城市| 沾化县| 东阳市| 监利县| 周口市| 惠水县| 建宁县| 柘荣县| 交口县| 丹凤县| 灵台县| 建阳市| 皮山县| 桂东县| 瑞丽市| 湘潭市| 明光市| 唐河县| 敦煌市| 霍邱县| 扶沟县| 青冈县| 塔城市| 崇义县| 炎陵县| 临清市| 剑河县| 常德市| 盐源县|