[發明專利]一種多線程抓包方法、裝置及電子設備在審
| 申請號: | 202210141824.5 | 申請日: | 2022-02-16 |
| 公開(公告)號: | CN114741182A | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 王鵬鵬;周靖宇 | 申請(專利權)人: | 北京快確信息科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F16/906;G06F16/901;H04L69/22 |
| 代理公司: | 廣東良馬律師事務所 44395 | 代理人: | 鄧天祥 |
| 地址: | 100000 北京市西*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多線程 方法 裝置 電子設備 | ||
本發明公開了一種多線程抓包方法、裝置及電子設備,包括:將預先設置的過濾條件封裝成過濾規則表達式;對過濾規則表達式進行組合,生成若干個目標過濾規則表達式;根據預先建立的若干個抓包線程、目標過濾規則表達式,進行數據包抓取;將抓取的數據包按照預設的規則進行分類存儲。本發明實施例通過多線程實時抓包,提高cpu利用率,實現高效抓包且不丟包;另一方面通過抓包數據統計存儲管理方法使得源到目的或者目的到源的數據內容和信息單獨存儲,運維研發人員只需要搜索關鍵字,即可找到對應數據文件,方便事后檢索和查找,提高運維和研發人員的工作效率,利于快速定位問題。
技術領域
本發明涉及數據處理技術領域,尤其涉及一種多線程抓包方法、裝置及電子設備。
背景技術
隨著網絡技術的快速發展,網絡通信與我們的生活息息相關,而捕獲、截取、重發、編輯、轉存網絡通信的數據流的過程就是“抓包”(packet capture),捕獲的內容就是抓取的報文。通過“抓包”獲取報文,對報文進行分析統計能幫助運維研發人員快速定位問題,解決問題。
目前,主流的抓包工具都是通過調用libPcap或者winPcap底層庫函數來完成抓包。這種方法的原理就是在數據鏈路層加一個旁路處理,當一個數據包到達網絡接口時,Pcap利用已經創建的Socket從鏈路層驅動程序中獲得該數據包的拷貝,再通過Tap函數將數據包發給BPF過濾器;該BPF過濾器根據過濾規則對數據包進行逐一匹配,匹配成功則放入內核緩沖區,并傳遞給用戶緩沖區;匹配失敗則直接丟棄,如此循環往復。但是,這種方法實際上采用的是單核方式,所占cpu利用率不高,在大流量網絡傳輸環境下,處理速度跟不上,導致丟包。
因此,現有技術還有待于改進和發展。
發明內容
鑒于上述現有技術的不足,本發明提供了一種多線程抓包方法、裝置及電子設備,旨在解決現有技術中抓包方法上采用的是單核方式,所占cpu利用率不高,在大流量網絡傳輸環境下,處理速度跟不上,導致丟包的問題。
本發明的技術方案如下:
本發明第一實施例提供了一種多線程抓包方法,方法包括:
將預先設置的過濾條件封裝成過濾規則表達式;
對過濾規則表達式進行組合,生成若干個目標過濾規則表達式;
根據預先建立的若干個抓包線程、目標過濾規則表達式,進行數據包抓取;
將抓取的數據包按照預設的規則進行分類存儲。
進一步地,所述將預先設置的過濾條件封裝成過濾規則表達式,包括:
預先設置用于抓包的過濾條件;
將所述過濾條件封裝成過濾規則表達式。
進一步地,所述將所述過濾條件封裝成過濾規則表達式,包括:
根據過濾轉換器將所述過濾條件封裝成過濾規則表達式。
進一步地,所述對過濾規則表達式進行組合,生成若干個目標過濾規則表達式,包括:
分配網卡,根據網卡對對過濾規則表達式進行組合,生成若干個目標過濾規則表達式。
進一步地,所述根據預先建立的若干個抓包線程、目標過濾規則表達式,進行數據包抓取前,包括:
根據若干個目標過濾規則表達式建立對應的抓包線程,所述抓包線程的個數與所述目標過濾規則表達式的個數相同。
進一步地,所述將抓取的數據包按照預設的規則進行分類存儲,包括;
獲取抓取的數據包,對抓取的數據包進行解析;
獲取解析后的數據包中的有效數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京快確信息科技有限公司,未經北京快確信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210141824.5/2.html,轉載請聲明來源鉆瓜專利網。





