亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡應用層會話分析系統(tǒng)的設計和實現(xiàn)

        2012-04-29 14:43:38李佳靜高潤智孫陽陽楊功江趙彥
        科技創(chuàng)新導報 2012年34期
        關鍵詞:會話應用層報文

        李佳靜 高潤智 孫陽陽 楊功江 趙彥

        摘 要:應用層會話分析可以用來反應網(wǎng)絡狀態(tài)、掌握用戶習慣以及發(fā)現(xiàn)潛在的安全威脅。該文提出了一種網(wǎng)絡應用層會話分析系統(tǒng)的設計和實現(xiàn)方法,給出了應用層協(xié)議包括固定端口和可變端口協(xié)議的分析算法。實驗表明,該文的方法能夠有效地在對局域網(wǎng)內(nèi)的會話進行識別和統(tǒng)計。

        關鍵字:計算機網(wǎng)絡 協(xié)議分析 端口 數(shù)據(jù)庫

        中圖分類字:TP319 文獻標識碼:A 文章編號:1674-098X(2012)12(a)-00-03

        當前政府、銀行、企業(yè)等機構紛紛連接到互聯(lián)網(wǎng)中,越來越多的核心業(yè)務在互聯(lián)網(wǎng)上完成。網(wǎng)絡為人們提供了極大的便利,已經(jīng)逐漸成為很多用戶完成相關業(yè)務的非常重要的、不可或缺的手段。然而,網(wǎng)絡的不斷普及也帶來了其安全問題。各種各樣的后門、代碼攻擊、蠕蟲等無時無刻不在對用戶的網(wǎng)絡進行著攻擊,造成網(wǎng)絡用戶的服務被拒絕、企業(yè)或個人機密信息被竊取等等一系列損失。因此對網(wǎng)絡的監(jiān)測和管理成為一個急需解決的問題。

        應用層會話分析是網(wǎng)絡狀態(tài)監(jiān)測和管理的一個重要組成部分。應用層會話分析具有如下的意義。

        (1)應用層會話分析的結果能夠反映網(wǎng)絡的狀態(tài)。根據(jù)應用層會話的統(tǒng)計信息,能夠得知傳輸中斷、VoIP語音質(zhì)量及應用服務的響應時間等,從而提供更好的網(wǎng)絡服務;

        (2)應用層會話分析的結果可以用來掌握用戶的愛好和習慣,進而進行網(wǎng)絡的監(jiān)控等管理;

        (3)應用層會話分析能夠發(fā)現(xiàn)潛在的安全威脅,比如蠕蟲和網(wǎng)絡入侵,在沒有造成更大的危害之前進行響應。

        目前,網(wǎng)絡的監(jiān)測和管理有多種方式可以實現(xiàn),主要分為簡單網(wǎng)絡管理SNMP,F(xiàn)LOW和Sniffing。簡單網(wǎng)絡管理協(xié)議(SNMP)是應用最廣泛的網(wǎng)關協(xié)議。SNMP構架中包含若干個被管理的網(wǎng)絡接點設備以及至少一個管理工作站。工作站通過輪詢或者中斷的方法從被管理的網(wǎng)絡設備中收集數(shù)據(jù)信息。Flow技術采用集中式的管理,由核心交換機或路由器提供信息。Sniffer技術可以截取完整的數(shù)據(jù)包,因此得到的信息最為完整,甚至可以還原和重現(xiàn)原始的網(wǎng)絡通信內(nèi)容。

        該文在Sniffer技術的基礎上,提出了網(wǎng)絡應用層會話分析系統(tǒng)的設計和實現(xiàn)方法。該方法給出了應用層會話分析的工作流程,以及在應用層會話分析中各種關鍵問題的算法?;谶@些算法,該文實現(xiàn)了一個網(wǎng)絡應用層會話分析系統(tǒng),并給出使用該系統(tǒng)在真實的網(wǎng)絡中進行實驗的結果和分析。

        1 網(wǎng)絡應用層會話分析系統(tǒng)的設計

        根據(jù)TCP/IP模型,網(wǎng)絡協(xié)議可以分為鏈路層、網(wǎng)絡層、傳輸層和應用層。為了實現(xiàn)應用層會話分析,需要程序能夠獲得鏈路層的報文,并對鏈路層、網(wǎng)絡層和傳輸層的協(xié)議進行解析,并在此基礎上識別應用層協(xié)議類型并確定會話的建立和結束;同時為了方便用戶查詢,需要建立會話信息的數(shù)據(jù)庫表。對應于以上的四個功能,將網(wǎng)絡應用層會話分析系統(tǒng)設計為如下四個模塊:數(shù)據(jù)包捕獲模塊,基本協(xié)議解碼模塊,應用層協(xié)議分析模塊和數(shù)據(jù)庫管理模塊。下面分別給出這些模塊的設計:

        1.1 數(shù)據(jù)包捕獲模塊

        數(shù)據(jù)包捕獲庫模塊實現(xiàn)鏈路層數(shù)據(jù)幀獲取,從網(wǎng)卡中直接獲取數(shù)據(jù)鏈路層數(shù)據(jù)包,對數(shù)據(jù)包進行一定的解析,提供一套自己的內(nèi)存管理機制,并向上層應用提供一套接口,使上層應用程序可以很簡便的完成數(shù)據(jù)包獲取。在實現(xiàn)數(shù)據(jù)包捕獲的時候,還應該考慮到效率的問題,盡量減少丟包情況的發(fā)生。

        1.2 基本協(xié)議解碼模塊

        基本協(xié)議將數(shù)據(jù)包捕獲模塊監(jiān)聽到的數(shù)據(jù)包進行協(xié)議解碼,并將標志了各個字段的數(shù)據(jù)包上傳給應用層協(xié)議分析模塊?;緟f(xié)議解析模塊模擬操作系統(tǒng)中的協(xié)議棧處理過程,按照鏈路層、網(wǎng)絡層、傳輸層的順序以此將數(shù)據(jù)包的包頭各字段進行標記,同時對數(shù)據(jù)進行校驗和檢查。

        1.3 會話分析模塊

        會話分析在基本協(xié)議解析的基礎上,以會話為單位進行網(wǎng)絡流量的分析。該文利用網(wǎng)絡報文中的如下字段來判定它所屬于的會話:源IP地址、目的IP地址、源端口、目的端口和應用層協(xié)議的類型。即同一個會話中的數(shù)據(jù)報文具有的以上字段具有相同

        的值。

        因此,分析一個網(wǎng)絡報文的應用層協(xié)議的類型,是進行會話分析的基礎。應用層的協(xié)議種類繁多,在進行分析的時候要針對不同的協(xié)議采用不同的方法。例如對于固定端口的協(xié)議,如http協(xié)議等,可以根據(jù)服務的端口80或8080來識別;對于一些服務端口需要經(jīng)過協(xié)商確定的協(xié)議,如bittorrent協(xié)議和skype協(xié)議等,端口匹配的方法不再適用。

        這時需要根據(jù)報文數(shù)據(jù)的某些特征,例如包含一些特殊的字符串來進行識別。例如在bittorrent協(xié)議的報文數(shù)據(jù)中通常包含一個長度為19字節(jié)的字符串“bittorrent protocol”。

        因此需要適當?shù)姆椒▽勺兌丝诘膮f(xié)議特征進行描述,使用并行模式匹配算法,對報文數(shù)據(jù)進行匹配。應用層協(xié)議分析模塊同時還要對每個會話中的網(wǎng)絡報文數(shù)目和數(shù)據(jù)字節(jié)數(shù)進行統(tǒng)計。

        另外,為了避免網(wǎng)絡會話數(shù)量的急劇增長,應用層協(xié)議分析模塊還要給出判斷會話結束的策略。會話結束分為兩種情況:正常結束和非正常結束。例如,經(jīng)過TCP協(xié)議的兩次握手,完成會話就是正常結束的情況;對于一段時間內(nèi)沒有新數(shù)據(jù)包到來的會話,從數(shù)據(jù)庫中刪除。

        1.4 數(shù)據(jù)庫模塊

        數(shù)據(jù)庫模塊要完成數(shù)據(jù)庫的連接,以及插入新會話、更新會話的信息以及刪除會話記錄的相應操作。

        2 網(wǎng)絡應用層會話分析工具的實現(xiàn)

        基于以上的設計思路,該文實現(xiàn)了一個網(wǎng)絡應用層會話分析工具。下面分別介紹各模塊實現(xiàn)時的要點。

        2.1 數(shù)據(jù)包捕獲模塊的實現(xiàn)

        為了捕捉到鏈路層上的所有通信,該文將監(jiān)控主機上的網(wǎng)卡設置為混雜模式。在非交換式網(wǎng)絡中,這將是整個網(wǎng)絡的通信。對于交換式網(wǎng)絡,需要在交換機上設定端口鏡像,使監(jiān)控主機可以截取到廣播之外的網(wǎng)絡包??紤]到效率問題,該文中使用MMAPed pcap完成數(shù)據(jù)包捕獲工作。MMAPed pcap中使用一個環(huán)狀的緩沖內(nèi)存管理機制,減少了內(nèi)存拷貝的次數(shù),防止在突發(fā)大流量數(shù)據(jù)時丟包情況的發(fā)生。

        2.2 基本協(xié)議解析模塊的實現(xiàn)

        基本協(xié)議解析模塊的工作分成以下三個步驟。

        (1)根據(jù)pcap_datalink函數(shù)的返回值,得到鏈路層協(xié)議的類型,例如以太網(wǎng)或點到點網(wǎng)絡;然后根據(jù)各鏈路層協(xié)議的格式,標識出其中每個字段的范圍;并根據(jù)nProtocolType值,得到網(wǎng)絡層協(xié)議的類型,例如IP協(xié)議,將報文傳遞給網(wǎng)絡層協(xié)議分析函數(shù);

        (2)根據(jù)網(wǎng)絡層協(xié)議的包頭結構,標志出網(wǎng)絡層協(xié)議的各個字段;根據(jù)報文頭部的nIpProto值,得到傳輸層協(xié)議的類型,并傳遞給傳輸層協(xié)議分析函數(shù);

        (3)根據(jù)傳輸層各協(xié)議的包頭結構,標志出傳輸層協(xié)議的各個字段,將數(shù)據(jù)報文傳遞給應用層會話分析模塊。

        圖1 網(wǎng)絡應用層會話分析系統(tǒng)的工作框架

        2.3 會話分析模塊的實現(xiàn)

        程序初始化時,將應用層協(xié)議的正則表達式從文件中讀入,每個正則表達式要進行編譯和預處理,以便能夠進行匹配。

        圖2中給出了應用層會話分析模塊的工作流程。對于每個到來的數(shù)據(jù)包,檢查是否是新的會話;如果是新建的會話,則新建一個會話,填寫它的修改時間為當前時間,數(shù)據(jù)包個數(shù)為1,字節(jié)數(shù)為該數(shù)據(jù)包的字節(jié)個數(shù);否則更新會話的修改時間為當前時間,數(shù)據(jù)包個數(shù)加1,字節(jié)數(shù)增加該數(shù)據(jù)包的字節(jié)個數(shù)。如果已經(jīng)識別該會話的協(xié)議,則處理下一個數(shù)據(jù)包;否則,若該會話的數(shù)據(jù)包個數(shù)已經(jīng)超過8,則認為該會話使用了未知的協(xié)議,將協(xié)議字段填寫為“unknown”。對于數(shù)據(jù)包個數(shù)沒有超過8的協(xié)議,首先判斷端口是否為已知服務,若為已知服務則填寫協(xié)議。若不為已知服務,則對報文數(shù)據(jù)部分進行正則匹配,匹配成功則填寫協(xié)議字段。

        對于會話結束該文采用如下判斷方法:對于連接的雙方A和B,當A向B發(fā)送了一個FIN包,B回復一個ACK包,之后B向A發(fā)送一個FIN包,A回復一個ACK包,即經(jīng)過了兩次握手則認為TCP連接正常結束。該文為每個會話增加了如下四個數(shù)據(jù)項:srcFIN,dstACK,dstFIN,srcACK來分別表示兩次握手時的數(shù)據(jù)包,它們的初始值為FALSE,當該會話接收到相應的數(shù)據(jù)包時,將對應的數(shù)據(jù)項值更改為TRUE。當一個會話的(srcFIN&&dstACK&&dstFIN&&srcACK==TRUE)成立時,則認為該會話正常結束。在一段時間內(nèi)沒有新數(shù)據(jù)包到來則認為該會話非正常結束,在目前的系統(tǒng)中超時設置為300 s。

        2.4 數(shù)據(jù)庫模塊的實現(xiàn)

        數(shù)據(jù)庫模塊首先連接數(shù)據(jù)庫,然后根據(jù)應用層會話分析模塊的請求,對數(shù)據(jù)庫進行操作。比如,根據(jù)應用層會話分析模塊的新建會話請求,將新建會話的信息轉化為正確的mysql語句,在數(shù)據(jù)表中插入新的表項。為了提高系統(tǒng)的可擴展性,數(shù)據(jù)庫模塊以插件實現(xiàn)。

        圖2 會話分析模塊的工作流程

        3 實驗和討論

        見表1。

        基于以上方法,該文實現(xiàn)了一個應用層會話分析系統(tǒng)。該系統(tǒng)使用C語言實現(xiàn),在Ubuntu 10.10版本下運行,網(wǎng)絡環(huán)境為包含兩臺主機的小型局域網(wǎng),控制主機配置為Inter Celeron CPU 1.8 GHZ,2.0G RAM。系統(tǒng)運行10 min之后,統(tǒng)計得到了159個會話,其中ID是系統(tǒng)為每個會話分配的,作為主鍵;srcIP,dstIP,srcPort和dstPort分別表示源IP,目的IP,源端口和目的端口,Protocol表示應用層協(xié)議,count表示該會話中的報文個數(shù),datas表示該會話中的數(shù)據(jù)字節(jié)數(shù),firstTime是當接收到第一個數(shù)據(jù)包時調(diào)用gettimeofday得到的當前時間。由于會話過多,省略一些相似的會話,給出部分實驗結果。

        以上數(shù)據(jù)表明,該文的方法可以捕獲局域網(wǎng)內(nèi)部的全部數(shù)據(jù)包,并且以應用層會話為單位,進行數(shù)據(jù)包的統(tǒng)計和分析。

        4 結語

        應用層協(xié)議種類繁多,不同的應用層協(xié)議數(shù)據(jù)具有不同的格式,很難找到一種通用的模式來適用于各種應用協(xié)議的分析。該文提出了一種對網(wǎng)絡應用層會話分析系統(tǒng)的設計和實現(xiàn)的方法,針對應用層會話分析中的一些關鍵問題給出了解決辦法。通過在真實網(wǎng)絡中的實驗,證明該文的方法能夠有效地在對局域網(wǎng)內(nèi)的會話進行識別和統(tǒng)計。在應用層會話分析的基礎上,可以進一步進行網(wǎng)絡的故障管理、性能管理和安全管理等。

        參考文獻

        [1] 謝希仁.計算機網(wǎng)絡[M].5版.北京:電子工業(yè)出版社,2008.

        [2] 矯健.基于WinPcap網(wǎng)絡數(shù)據(jù)包捕獲程序的設計與實現(xiàn)[J].計算機與網(wǎng)絡,2008:163-165.

        [3] 平震宇.Libpcap數(shù)據(jù)包捕獲機制剖析與研究[J].信息網(wǎng)絡安全,2008(8):37-39.

        [4] 謝柏林,余順爭.基于應用層協(xié)議分析的應用層實時主動防御系統(tǒng)[J].計算機學報,2011,34(3):452-463.

        [5] 牟喬.準確高效的應用層協(xié)議分析識別方法[J].計算機工程與科學,2010(8):39-45.

        猜你喜歡
        會話應用層報文
        基于J1939 協(xié)議多包報文的時序研究及應用
        汽車電器(2022年9期)2022-11-07 02:16:24
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        有意冒犯性言語的會話含義分析
        基于分級保護的OA系統(tǒng)應用層訪問控制研究
        漢語教材中的會話結構特征及其語用功能呈現(xiàn)——基于85個會話片段的個案研究
        ATS與列車通信報文分析
        新一代雙向互動電力線通信技術的應用層協(xié)議研究
        物聯(lián)網(wǎng)技術在信息機房制冷系統(tǒng)中的應用
        沖突語的會話分析研究
        国产精品高清一区二区三区人妖 | 成人性生交大片免费| 亚洲精品成人片在线观看| 2021久久精品国产99国产| 亚洲av日韩aⅴ永久无码| 伊人久久婷婷综合五月97色| av在线免费观看大全| 日韩精品极品视频在线观看免费| 亚洲男人第一av网站| 亚洲国产成人精品福利在线观看| 蜜桃av区一区二区三| 日本中文字幕婷婷在线| 精品久久香蕉国产线看观看亚洲| 国产nv精品你懂得| 亚洲视频中文字幕更新| 日韩女优精品一区二区三区| 久久久国产精品黄毛片| 亚洲中文av一区二区三区| 人妻少妇中文字幕av| 男人国产av天堂www麻豆| 亚洲欧美日韩人成在线播放| 国产一级淫片免费播放电影| 亚洲中文乱码在线观看| 人人妻人人澡人人爽国产一区| 亚洲av久久无码精品九九| 国产AV秘 无码一区二区三区 | 大地资源在线观看官网第三页| 中文字幕一区二区三区视频| 少妇被躁到高潮和人狍大战| 国产在线一区二区三区乱码| 少妇人妻综合久久中文字幕| 日日碰狠狠丁香久燥| 国产盗摄XXXX视频XXXX| 亚洲高清国产成人精品久久| 97在线观看播放| 综合网在线视频| av是男人的天堂免费| 国产精品天干天干综合网| 国产成人无码区免费网站| 无人视频在线播放在线观看免费| 精品国产一区二区三区不卡在线|