用開源工具Xplico助力網絡應用層數據解碼

用開源工具Xplico助力網絡應用層數據解碼 http://netsecurity.51cto.com/art/201606/513237.htmsql

0.概述 Xplico功能不只是一個網絡協議分析工具,仍是一個開源的網絡取證分析工具(NFAT)。網絡取證分析工具是一個科學的捕捉,記錄和檢測入侵併進行調查的網絡流量分析處理系統。Xplico主要做用是從捕獲網絡應用層數據並顯示出來,這指的是經過捕獲Internet網絡流量來提取各類網絡應用中所包含的數據,並從中分析出各類不一樣的網絡應用。例如Xplico能夠實時解析經過網關的流量,也能夠pcap文件中解析出IP流量數據,並解析每一個郵箱(包括POP、IMAP和SMTP協議),解析HTTP內容,以及VOIP應用等。 注意:在後面設置中Xplico Web界面中的Menu→Dissectors能看到它所支持的應用層協議。 1.系統架構 XPlico系統由4個部分構成,分別是: Ø 解碼控制器 Ø IP/網絡解碼器(Xplico) Ø 程序集來處理解碼數據(ManiPulators) Ø 可視化系統(用來查看結果) 解碼器Xplico是整個系統的核心組件,它的特色是高度模塊化,可擴展性和可配置性。它的主要工做過程是經過數據抓取模塊(cap_dissector)抓取網絡中的數據包,而後將數據包輸入到各個解析組件(Dissectors)中,得出的解析結果經過分發組件(Dispatcher)存儲到數據庫中,最後再顯示出來。其過程如圖1所示。 用開源工具Xplico助力網絡應用層數據解碼 圖1 Xplico原理圖 從圖1能夠看出,Xplico對協議的分析過程採起自頂向下的流程,首先Xplico捕獲到網絡數據包,而後根據包中的不一樣字段,區分出不一樣的協議,分紅TCP、UDP等協議進行分析,其中對TCP協議和UDP協議再根據不一樣的端口號和應用層協議的特徵進一步細分,使用不一樣的解析器對報文進行分析和處理,最後得出結論並保存結果。 2. Xplico的數據獲取方法 在Xplico底層使用Libpcap來抓取數據包,它是一個專門用來捕獲網絡數據的編程接口。它在不少網絡安全領域獲得了普遍的應用,不少著名的網絡安全系統都是基於LibPcap而開發的,如著名的網絡數據包捕獲和分析工具Tcpdump,網絡入侵檢測系統snort也是使用Libpcap來實現的。Libpcap幾乎成了網絡數據包捕獲的標準接口。Libpcap中使用了BPF(BSD Packet Filter)過濾機制,這部分是基於內核的過濾模塊,它使Libpcap具備捕獲特定數據包的功能,能夠過濾掉網絡上不須要的數據包,而只捕獲用戶感興趣的數據包。使用Libpcap能夠把從網絡上捕獲到的數據包存儲到一個文件中,還能夠把數據包信息從文件中讀出,讀出的結果與從網絡上捕獲數據包的結果是同樣的。, 3.Xplico部署 Xplico目前最新版本爲Xplico version 1.1.2(本文實驗採用版本爲1.1.0),其自身的運行須要其餘一些軟件的支撐例如Apache、Sqlite、tcpdump、tshark等。在安裝部署前,首先要準備好,這裏以選用Ubuntu 系統。 環境:基礎平臺OS採用Ubuntu Linux 13.10,安裝方法以下: $sudo apt-get update $sudo apt-get install xplico 注意:須要修改apache端口監聽文件/etc/apache2/ports.conf,添加如下內容 NameVirtualHost *:9876 Listen 9876 此外還有一種方法可使用集成工具箱DEFT 8.2 Live,用此光盤啓動系統後,進入控制檯首先啓動apache服務器,而後啓動xplico服務(順序反了不能成功)最後啓動Xplico的Web界面。 4.應用Xplico 啓動Xplico準備工做,首先啓動Xplico以前如今交換機端口上作好SPAN而後啓動Xplico。 步驟①:啓動命令: #/opt/xplico/script/sqlite_demo.sh Web登陸方法 瀏覽器輸入地址http://ip:9876數據庫

相關文章
相關標籤/搜索