[發明專利]一種基于驅動零拷貝模式系統下的tcpdump抓包實現方法和裝置有效
| 申請號: | 201410588528.5 | 申請日: | 2014-10-28 |
| 公開(公告)號: | CN105635045B | 公開(公告)日: | 2019-12-13 |
| 發明(設計)人: | 柴忠;周嶠 | 申請(專利權)人: | 北京啟明星辰信息安全技術有限公司;北京啟明星辰信息技術股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 11262 北京安信方達知識產權代理有限公司 | 代理人: | 王康;栗若木 |
| 地址: | 100193 北京市海淀區東北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 驅動 拷貝 模式 系統 tcpdump 實現 方法 裝置 | ||
本發明公開了一種基于驅動零拷貝模式系統下的傳輸控制協議捕獲tcpdump抓包實現方法和裝置,該方法和裝置包括:系統加載零拷貝網卡驅動;控制工具控制網卡驅動開啟或關閉tcpdump抓包工作模式;當開啟tcpdump抓包工作模式時,網卡驅動將數據包放入到應用收包隊列后,拷貝該數據包并進行標記,然后將拷貝的數據包發送給內核協議棧的收包隊列;數據包經過內核協議棧,tcpdump工具捕獲該數據包。本發明方案能夠使得數據包處理過程中既能完全復用tcpdump工具的過濾、輸出等全部功能,為網絡數據包采集和分析提供有力工具,降低改造成本,還可以保證不影響系統其他功能模塊的正常工作。
技術領域
本發明涉及信息安全領域,具體涉及一種基于驅動零拷貝模式系統下的傳輸控制協議捕獲tcpdump抓包實現方法和裝置。
背景技術
隨著高速網絡迅猛發展,作為網絡服務器,特別是路由器和網關,數據的采集和分析是必不可少的,可以及時反映服務器網絡狀況。專利(公開號CN101170491A)實現了一種網絡接口板的抓包方法,專利(公開號CN103885813A)實現了一種在虛擬機環境下的抓包方法。這兩種方式都未使用傳輸控制協議捕獲tcpdump工具,是網絡設備普通驅動模塊下實現的抓包方式,功能較弱,無法提供數據包過濾、輸入輸出等功能。而tcpdump工具是對網絡上的數據包進行截獲、采集和分析最常用工具之一,支持多種參數、數據過濾、解碼等功能。
tcpdump在普通驅動工作模式下抓包的流程為:網卡驅動收包并放入內核協議棧的收包隊列;內核協議棧從收包隊列異步地取包并遞交給AF_PACKET協議族模塊;AF_PACKET協議族模塊將包遞交給用戶空間的tcpdump進程,如圖1所示。
然而在這種普通驅動工作模式下處理數據報文時,由網卡驅動到用戶空間需要經過多次拷貝,容易產生性能瓶頸。而零拷貝(zero-copy)模式通過應用程序和驅動共享內存,消除了數據包經由內核協議棧處理帶來的開銷,大大提高了應用程序的收包效率。為此零拷貝技術被大量用于網絡高速服務器中,它能有效提高設備通信性能,實現高速數據傳輸。
在當前基于驅動零拷貝模式系統下,數據包的處理路徑與普通驅動模式相比,最大的區別在于數據包不會經過內核協議棧,而是直接通過共享內存被應用程序獲取,這可以實現高速網絡數據包捕獲,具有系統開銷小,捕獲效率高的優點。
但是基于驅動零拷貝模式下的數據包處理方式,由于所述數據包不會經過內核協議棧,導致基于內核協議棧AF_PACKET協議族模塊的tcpdump無法得到數據包,如圖2所示。
因此,在基于驅動零拷貝模式下,實現抓取數據包存在如下缺點:(1)無法使用tcpdump成功抓取到數據包;(2)在不使用tcpdump工具的情況下,需要開發新的工具,來重復實現類似tcpdump抓包工具過濾、輸出等接口功能。
發明內容
為了解決上述問題,本發明提出了一種基于驅動零拷貝模式系統下的傳輸控制協議捕獲tcpdump抓包實現方法和裝置,能夠使得數據包處理過程中既能完全復用tcpdump工具的過濾、輸出等全部功能,為網絡數據包采集和分析提供有力工具,降低改造成本,還可以保證不影響系統其他功能模塊的正常工作。
為了達到上述目的,本發明提出了一種基于驅動零拷貝模式系統下的傳輸控制協議捕獲tcpdump抓包實現方法,該方法包括以下步驟:
系統加載零拷貝網卡驅動。
控制工具控制網卡驅動開啟tcpdump抓包工作模式。
當網卡驅動將所述數據包放入到應用收包隊列后,拷貝所述數據包并進行標記,然后將拷貝的數據包發送給內核協議棧的收包隊列。
該數據包經過內核協議棧,tcpdump工具捕獲該數據包。
優選地,應用收包隊列為共享內存。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京啟明星辰信息安全技術有限公司;北京啟明星辰信息技術股份有限公司,未經北京啟明星辰信息安全技術有限公司;北京啟明星辰信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410588528.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:生物能源高效燃燒方法
- 下一篇:無極燈電器箱





