• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Linux下采用Libpcap實現(xiàn)IDS的網(wǎng)絡(luò)數(shù)據(jù)包監(jiān)測

      2015-09-25 09:14:20周永福曾志
      現(xiàn)代計算機(jī) 2015年9期
      關(guān)鍵詞:報文數(shù)據(jù)包模塊

      周永福,曾志

      (1.河源職業(yè)技術(shù)學(xué)院電子與信息工程學(xué)院,河源 517000;2.惠州學(xué)院計算機(jī)科學(xué)系,惠州 516007)

      Linux下采用Libpcap實現(xiàn)IDS的網(wǎng)絡(luò)數(shù)據(jù)包監(jiān)測

      周永福1,曾志2

      (1.河源職業(yè)技術(shù)學(xué)院電子與信息工程學(xué)院,河源517000;2.惠州學(xué)院計算機(jī)科學(xué)系,惠州516007)

      0 引言

      網(wǎng)絡(luò)的飛速發(fā)展,使得信息安全問題日漸突出和復(fù)雜,其安全防護(hù)技術(shù)也逐漸成為當(dāng)前面臨的重要技術(shù)領(lǐng)域。傳統(tǒng)的安全技術(shù)更多的是一種基于被動的防護(hù),而如今的攻擊和入侵要求我們主動地去檢測、發(fā)現(xiàn)和排除安全隱患[1]。入侵檢測系統(tǒng)(IDS,Intrusion Detection System)作為一種較為穩(wěn)定的安全手段,逐漸受到重視,已經(jīng)成為當(dāng)前網(wǎng)絡(luò)安全技術(shù)領(lǐng)域內(nèi)的一個研究熱點,受到越來越多的研究人員和工程技術(shù)人員的關(guān)注。IDS在網(wǎng)絡(luò)分析、核心檢測技術(shù)領(lǐng)域已歷經(jīng)三代:第一代的主機(jī)日志分析、模式匹配技術(shù);第二代的網(wǎng)絡(luò)數(shù)據(jù)包截獲、主機(jī)系統(tǒng)的審計數(shù)據(jù)分析技術(shù);以及第三代的協(xié)議分析、行為異常分析技術(shù)等[2]。圍繞數(shù)據(jù)包的捕獲與分析技術(shù),文獻(xiàn)[3~4]網(wǎng)絡(luò)數(shù)據(jù)包采集與報文捕獲技術(shù)進(jìn)行了詳細(xì)的描述與分析。文獻(xiàn)[5]詳細(xì)分析了入侵檢測系統(tǒng)的模型和分類,指出了研究方向。文獻(xiàn)[6]開發(fā)了開放源代碼的輕量級Snort入侵檢測系統(tǒng),Snort的優(yōu)點是報警機(jī)制很豐富,代碼簡潔、短小,易于擴(kuò)充,準(zhǔn)確性和效率較高,其他的很多商業(yè)化的入侵檢測系統(tǒng)的產(chǎn)品中也使用其規(guī)則描述語言。缺點是存在解碼和TCP重組的浪費,對分布式的協(xié)同功能欠考濾。

      本文在已有研究的基礎(chǔ)上,借鑒文獻(xiàn)中提到的Libpcap函數(shù)庫思路[7~8],從軟件角度實現(xiàn)了在Linux環(huán)境下構(gòu)建一個簡易IDS,重點探討了數(shù)據(jù)包捕獲模塊與分析模塊的相關(guān)流程與核心代碼兩大關(guān)鍵技術(shù)的實現(xiàn)。

      1 網(wǎng)絡(luò)IDS總體設(shè)計

      網(wǎng)絡(luò)入侵檢測系統(tǒng)根據(jù)網(wǎng)絡(luò)流量、網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)數(shù)據(jù)包來分析入侵行為,基本原理如圖1所示。

      圖1 網(wǎng)絡(luò)入侵檢測系統(tǒng)原理

      圖1中的數(shù)據(jù)包捕獲模塊首先根據(jù)一定的捕獲規(guī)則,獲取數(shù)據(jù)包,然后交給入侵檢測分析引擎模塊,執(zhí)行安全分析和判斷,把分析后的檢測結(jié)果上傳給系統(tǒng)管理模塊。系統(tǒng)管理模塊將分析結(jié)果有效地告知網(wǎng)絡(luò)管理員進(jìn)行入侵檢測標(biāo)簽的維護(hù)。

      當(dāng)入侵檢測系統(tǒng)工作的時候。首先,入侵檢測系統(tǒng)的數(shù)據(jù)包捕獲模塊在網(wǎng)絡(luò)捕獲數(shù)據(jù)包,通過底層的數(shù)據(jù)包監(jiān)聽驅(qū)動和BPF過濾器按一定規(guī)則過濾,符合條件的數(shù)據(jù)包被抓取。然后送交協(xié)議分析程序進(jìn)行分析,在數(shù)據(jù)檢測模塊,結(jié)合入侵檢測的規(guī)則庫,匹配規(guī)則,不符合匹配規(guī)則的數(shù)據(jù)包將被丟棄。最后,符合匹配規(guī)則的數(shù)據(jù)包送往輸出組件,結(jié)合規(guī)則庫,按照一定的規(guī)則通過系統(tǒng)管理器顯示給用戶或發(fā)送報警信息。入侵檢測系統(tǒng)的大致工作流程如圖2所示。

      圖2 入侵檢測系統(tǒng)工作流程

      2 采用Libpcap實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包捕獲和分析

      2.1數(shù)據(jù)包捕獲

      數(shù)據(jù)包捕獲是實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包分析、檢測系統(tǒng)高效工作的基石。在混合工作模式(即截獲所有未知目的物理地址的數(shù)據(jù)包)下,在網(wǎng)絡(luò)上按照過濾機(jī)制截獲網(wǎng)絡(luò)數(shù)據(jù)包。在Linux系統(tǒng)的root權(quán)限即uid=0條件下,采用Libpcap數(shù)據(jù)包捕獲函數(shù)庫來實現(xiàn)數(shù)據(jù)包捕獲模塊。數(shù)據(jù)包捕獲過程首先監(jiān)視與端口設(shè)備,掃描并獲取數(shù)據(jù)鏈路層的數(shù)據(jù)包,在此基礎(chǔ)上,可以用一個回調(diào)函數(shù)callback對捕獲到的數(shù)據(jù)包進(jìn)行分析,然后交給上層緩沖區(qū)進(jìn)行處理。圖3所示為數(shù)據(jù)包捕獲基本流程。

      依據(jù)上述流程,數(shù)據(jù)包捕獲模塊核心代碼見如下5個子過程:

      (1)用pcap_lookupdev()檢查獲取設(shè)備名稱

      圖3 數(shù)據(jù)包捕獲流程圖

      (2)用pcap_open_dev()打開設(shè)備

      (3)利用pcap_compile()設(shè)置過濾條件

      (4)設(shè)置回調(diào)函數(shù)進(jìn)行數(shù)據(jù)監(jiān)聽捕獲

      (5)結(jié)束時調(diào)用pcap_freecode()和pcap_close()清理并關(guān)閉

      2.2協(xié)議分析

      本模塊將獲取到的鏈路層協(xié)議循環(huán)反復(fù)地進(jìn)行分析,從包頭開始判定是否符合各類型數(shù)據(jù)包,并作相應(yīng)的數(shù)據(jù)包處理分析。主要檢查數(shù)據(jù)包是否符合當(dāng)前傳輸數(shù)據(jù)的特征,數(shù)據(jù)上下行的IP地址等。協(xié)議分析流程見如圖4所示。

      依據(jù)上述流程,下面引用數(shù)據(jù)包捕獲開發(fā)包Libpcap實現(xiàn)協(xié)議分析模塊的核心代碼[9]:

      程序中分別通過如下代碼對以太網(wǎng)幀頭、IP 數(shù)據(jù)包頭、UDP 數(shù)據(jù)包頭和TCP 數(shù)據(jù)包頭的起始位置進(jìn)行定位。

      一旦確定了各包頭的起始位置,根據(jù)定義好的各個包頭的數(shù)據(jù)結(jié)構(gòu),可以準(zhǔn)確地定位各個協(xié)議字段的位置,實現(xiàn)對數(shù)據(jù)包包頭的識別,從而獲取數(shù)據(jù)包信息,對數(shù)據(jù)包進(jìn)行分析。為了便于入侵檢測系統(tǒng)的后續(xù)工作,經(jīng)過分析后的數(shù)據(jù)包結(jié)果不再保存在緩存中,而是存儲到入侵檢測系統(tǒng)的數(shù)據(jù)庫中,以便下一步入侵檢測引擎做相關(guān)的其他檢測工作。

      圖4 協(xié)議分析模塊流程圖

      3 應(yīng)用實例

      啟動本檢測系統(tǒng)后程序開始檢測網(wǎng)卡數(shù)據(jù)包動態(tài),用瀏覽器打開任意網(wǎng)頁,可以觀察到程序開始在屏幕上輸出抓取到的數(shù)據(jù)包信息,包括源地址、目的地址、協(xié)議類型、源端口、目的端口、數(shù)據(jù)包接收時間和數(shù)據(jù)內(nèi)容等信息。

      ●捕獲到的TCP報文如圖5所示:

      從運行結(jié)果可以看到,程序抓取到了在訪問網(wǎng)頁時接收到的TCP數(shù)據(jù)包,是從115.239.210.27主機(jī)的43706端口發(fā)送到本主機(jī)10.0.2.15的80端口的。該結(jié)果可以看到接收該數(shù)據(jù)包的時間戳,通過ctime((const time_t*)&header->ts.tv_sec)來獲取數(shù)據(jù)包時間戳。最后對TCP包的數(shù)據(jù)內(nèi)容部分(共207字節(jié))按照16進(jìn)制和字符串格式進(jìn)行分別輸出,其中有些數(shù)據(jù)是二進(jìn)制值,故用點號代替。

      ●捕獲到的UDP報文如圖6所示。

      圖5 TCP報文數(shù)據(jù)

      圖6 UDP報文數(shù)據(jù)

      在運行結(jié)果中還捕獲到了UDP數(shù)據(jù)包,結(jié)果顯示UDP數(shù)據(jù)包從本主機(jī)10.0.2.15的34557號端口發(fā)送到目的主機(jī)192.168.193.1的53號端口。該數(shù)據(jù)包的時間戳為Sat Apr 20 10:08:43 2013,攜帶了31字節(jié)的數(shù)據(jù)內(nèi)容,數(shù)據(jù)內(nèi)容同樣地用十六進(jìn)制和字符串格式進(jìn)行輸出,從字符串部分可以看到我們訪問的網(wǎng)址。

      ●捕獲到的ICMP報文如圖7所示:

      圖7 ICMP報文數(shù)據(jù)

      從結(jié)果中還可以看到,ICMP數(shù)據(jù)包也被捕獲。ICMP報文傳遞差錯報文以及其他需要注意的信息??梢钥吹絀CMP數(shù)據(jù)包是從主機(jī)10.0.2.2發(fā)往目的主機(jī)10.0.2.15的。ICMP協(xié)議包頭是4個字節(jié)。

      4 結(jié)語

      本文在Linux下通過Libpcap數(shù)據(jù)包捕獲函數(shù)庫編程實現(xiàn)了數(shù)據(jù)包的檢測功能,而后通過協(xié)議分析對數(shù)據(jù)包進(jìn)行分析檢測。其檢測程序不僅能夠捕獲以太網(wǎng)數(shù)據(jù)鏈路上的數(shù)據(jù)幀 (包括發(fā)給主機(jī)和發(fā)往其他機(jī)器的),還可以提取TCP/IP協(xié)議的首部,實現(xiàn)對TCP/IP族數(shù)據(jù)包進(jìn)行檢測分析。將該程序融入到網(wǎng)絡(luò)入侵檢測系統(tǒng)的應(yīng)用中,為入侵檢測系統(tǒng)提供有效的數(shù)據(jù)保障。網(wǎng)絡(luò)數(shù)據(jù)包檢測還可以為網(wǎng)絡(luò)性能分析、網(wǎng)絡(luò)流量分析、網(wǎng)絡(luò)安全和監(jiān)控、防火墻、用戶計費等工具軟件提供必要的數(shù)據(jù)支持,具有較大的參考價值。

      [1]鄒蕾.分布式網(wǎng)絡(luò)入侵檢測系統(tǒng)研究與實現(xiàn)[D].吉林大學(xué),2005

      [2]李海雁,李凱佳.入侵檢測技術(shù)研究綜述.陜西師范大學(xué)學(xué)報(自然科學(xué)版)2005(S1):205~207

      [3]周福巖.面向Linux的入侵檢測系統(tǒng)數(shù)據(jù)包采集模塊的研究與實現(xiàn)[J].黑龍江科技信息,2009(2):78~80

      [4]時翠霞,吳剛,張信杰.網(wǎng)絡(luò)數(shù)據(jù)報文捕獲技術(shù)分析和研究[J].微計算機(jī)信息,2009(21):105~107

      [5]余兆力.基于Snort的網(wǎng)絡(luò)入侵檢測系統(tǒng)研究[D].浙江工業(yè)大學(xué),2005

      [6]隋新,楊喜權(quán),陳棉書等.入侵檢測系統(tǒng)的研究[J].科學(xué)技術(shù)與工程,2012,12(33):8971~8977

      [7]寇應(yīng)展,楊素敏,陳利軍等.基于Libpcap網(wǎng)絡(luò)數(shù)據(jù)包捕獲技術(shù)的改進(jìn)[J].軍械工程學(xué)院學(xué)報,2011,23(3):49~51

      [8]周瑋.基于Libpcap的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)設(shè)計思想與技巧的探討[J].科技信息,2009(5):75~76

      [9]Van Jacobson,Craig Leres,Steven McCanne.Manual Reference Pages-PCAP(3)[OL].http://www.tcpdump.org/pcap3_man.html,2014

      Linux;Network Data Packet;Packet Caption Library(Libpcap);IDS

      Implementation of Network Data Packet Monitoring Using Libpcap for IDS under Linux

      ZHOU Yong-fu1,ZENG Zhi2
      (1.Institute of Electronic and Information Engineering,Heyuan Ploytecnic,Heyuan 517000;2.Department of Computer Science,Huizhou University,Huizhou 516007)

      1007-1423(2015)09-0067-06

      10.3969/j.issn.1007-1423.2015.09.017

      周永福(1981-),男,江西貴溪人,碩士,研究方向為網(wǎng)絡(luò)應(yīng)用與安全、對等網(wǎng)絡(luò)計算

      曾志(1971-),男,江西贛縣人,博士,講師,高級工程師,研究方向為大規(guī)模網(wǎng)絡(luò)計算與GIS應(yīng)用等收稿日期:2014-12-25修稿日期:2015-02-05

      計算機(jī)入侵檢測已經(jīng)成為安全領(lǐng)域中一個越來越重要的技術(shù)。入侵檢測系統(tǒng)(IDS)通過收集和分析計算機(jī)網(wǎng)絡(luò)系統(tǒng)的關(guān)鍵信息,并將違反安全策略的標(biāo)志事件或攻擊通知系統(tǒng)作出響應(yīng)。據(jù)此,本文從入侵檢測系統(tǒng)的基本框架出發(fā),討論基于網(wǎng)絡(luò)的數(shù)據(jù)包捕獲技術(shù)與分析技術(shù),詳細(xì)闡述入侵檢測系統(tǒng)的總體設(shè)計過程,以及在Linux環(huán)境下采用Libpcap庫函數(shù)提供的網(wǎng)絡(luò)數(shù)據(jù)包捕獲與分析函數(shù)實現(xiàn)數(shù)據(jù)包監(jiān)測功能,并從代碼的角度重點分析數(shù)據(jù)的捕獲和處理方式,通過實驗驗證本文提出的關(guān)于網(wǎng)絡(luò)數(shù)據(jù)包監(jiān)測方法的可行性。

      Linux;網(wǎng)絡(luò)數(shù)據(jù)包;包捕獲函數(shù)庫(Libpcap);入侵監(jiān)測(IDS)

      河源市社會發(fā)展科技項目(No.2013-113)

      Intrusion detection technology for computer has become a more and more important technic in fields of security.IDS can collect and analyze the key information of computer network system,and make response for the violation of security policy on marking the incident or attacks to notify system.Therefore,starts from the basic framework of IDS,discusses the capture technology and analysis technology based on network data packets.Also starts from the design process of IDS in details,and performs network data packet monitoring using the data packet captured and analysis function of Libpcap Library under the environment of Linux,then from the view of code analyzes data captured and the processing method.Experiments show that this method is feasible and available.

      猜你喜歡
      報文數(shù)據(jù)包模塊
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      28通道收發(fā)處理模塊設(shè)計
      “選修3—3”模塊的復(fù)習(xí)備考
      CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      SmartSniff
      ATS與列車通信報文分析
      選修6 第三模塊 International Relationships
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
      視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
      扬中市| 内丘县| 阳高县| 河西区| 威信县| 滦平县| 云龙县| 胶州市| 琼结县| 抚松县| 平利县| 利津县| 佛坪县| 山东省| 万全县| 西平县| 深水埗区| 阿拉善左旗| 石屏县| 徐汇区| 三亚市| 海城市| 公安县| 教育| 哈尔滨市| 兴义市| 花莲县| 阳高县| 嘉鱼县| 泽普县| 彰化县| 乌鲁木齐县| 永嘉县| 舞钢市| 张家界市| 昭觉县| 夏河县| 翁源县| 祁阳县| 天等县| 微山县|