◆顧峰 王慶剛 伊紀(jì)梁 孫遠秋 焦俊淞 曾文杰 冉志成
基于網(wǎng)絡(luò)流量回溯系統(tǒng)的網(wǎng)絡(luò)質(zhì)量分析與設(shè)計
◆顧峰1王慶剛1伊紀(jì)梁2孫遠秋2焦俊淞2曾文杰2冉志成2
(1.西南石油大學(xué)網(wǎng)絡(luò)與信息化中心 四川 610500;2.西南石油大學(xué)計算機科學(xué)學(xué)院 四川 610500)
傳統(tǒng)網(wǎng)絡(luò)管理體系以設(shè)備監(jiān)控為中心,對用戶流量感知度差,難以適應(yīng)網(wǎng)絡(luò)發(fā)展的需求,現(xiàn)以高校網(wǎng)絡(luò)環(huán)境為基礎(chǔ),設(shè)計一種網(wǎng)絡(luò)回溯技術(shù)方案,通過抓包(Captuer)軟件、可視化界面(Web)、數(shù)據(jù)存儲三部分搭建網(wǎng)絡(luò)回溯系統(tǒng),對用戶網(wǎng)絡(luò)數(shù)據(jù)包分析,達到分析用戶網(wǎng)絡(luò)訪問質(zhì)量的目的。
校園網(wǎng);抓包;流量回溯
隨著網(wǎng)絡(luò)的規(guī)模、能力和速度不斷提高,傳統(tǒng)的網(wǎng)絡(luò)管理體系已經(jīng)很難適應(yīng)網(wǎng)絡(luò)管理的需求,簡單的抓包存儲,無法達到IT人員對各類數(shù)據(jù)包實時響應(yīng),快速分析的需求。文獻[1]對網(wǎng)絡(luò)流媒體中的關(guān)鍵技術(shù)進行了詳細分析,就兩種不同流媒體傳輸架構(gòu)(C/S和P2P)下的兩種典型視頻流(HTTP流和RTP流)進行了深入的研究,分別對其進行了視頻流的識別和還原,以及視頻回溯三大功能的分析和設(shè)計,并給出了基于Web瀏覽的視頻監(jiān)控與回溯系統(tǒng)的實現(xiàn)方案。文獻[2]表明網(wǎng)絡(luò)的持續(xù)、高效和安全運行是醫(yī)院業(yè)務(wù)正常運行的基礎(chǔ),要求網(wǎng)絡(luò)管理者能夠隨時掌握業(yè)務(wù)應(yīng)用運行的關(guān)鍵指標(biāo),及時發(fā)現(xiàn)異常并預(yù)警,實現(xiàn)主動運維、主動管理。這些共同體現(xiàn)了網(wǎng)絡(luò)回溯系統(tǒng)在維護網(wǎng)絡(luò)穩(wěn)定性中起的重要作用。
網(wǎng)絡(luò)回溯技術(shù)可以很好地分析網(wǎng)絡(luò)狀況,但國內(nèi)外存在的功能軟件例如科來等大多是基于大型企業(yè)網(wǎng)絡(luò)的專項維護軟件,一般企業(yè)由于非剛性需求以及相對昂貴的費用,對此項應(yīng)用的推廣相對滯后,這也導(dǎo)致了目前網(wǎng)絡(luò)回溯技術(shù)并不能在國內(nèi)廣泛的應(yīng)用起來,但隨著企業(yè)用戶對網(wǎng)絡(luò)質(zhì)量要求的不斷提高,通過網(wǎng)絡(luò)回溯技術(shù)來進行深度的流量分析,精準(zhǔn)定位網(wǎng)絡(luò)故障,進一步提升網(wǎng)絡(luò)質(zhì)量就顯得越來越重要。因此,本項目將研究如何把網(wǎng)絡(luò)回溯技術(shù)應(yīng)用于高校網(wǎng)絡(luò)運維的體系中,在完善系統(tǒng)的同時,進一步加強校園網(wǎng)絡(luò)的穩(wěn)定性和可拓展性。
Moloch是一款由AOL開源的,能夠大規(guī)模的捕獲IPv4數(shù)據(jù)包(PCAP)、索引和數(shù)據(jù)庫系統(tǒng)。Moloch主要為處理大量pcap文件提供一個快速索引的能力,為高效快速分析網(wǎng)絡(luò)問題建立了一個更直接的頁面,由以下三部分組成:
(1)capture:綁定interface運行的單線程C語言應(yīng)用,用于監(jiān)控網(wǎng)絡(luò)流量,將網(wǎng)絡(luò)數(shù)據(jù)抓包以pacp格式寫入磁盤。
(2)viewer:運行在capture主機上的node.js Web應(yīng)用,處理Web接口與傳輸中的文件。
(3)elasticsearch:moloch的數(shù)據(jù)檢索驅(qū)動。
通過在交換機上,將一個或多個源端口的數(shù)據(jù)流量轉(zhuǎn)發(fā)到某一個指定端口來實現(xiàn)對網(wǎng)絡(luò)的監(jiān)聽即為端口鏡像(port Mirroring)。在不嚴(yán)重影響源端口正常吞吐流量的情況下,可以通過鏡像端口對網(wǎng)絡(luò)的流量進行監(jiān)控分析。使用鏡像功能,可以很好地對網(wǎng)絡(luò)數(shù)據(jù)進行監(jiān)控管理,在網(wǎng)絡(luò)出故障的時候,可以快速地定位故障。
本次實驗探索選取特定的校園網(wǎng)絡(luò)節(jié)點,在校園網(wǎng)絡(luò)交換機上,將多個指定源端口的數(shù)據(jù)流量轉(zhuǎn)發(fā)到事先配置好的鏡像端口實現(xiàn)流量數(shù)據(jù)包的鏡像。通過Capture來抓取鏡像流量包并以pcap格式存儲到服務(wù)器中。Moloch以elasticsearch作為數(shù)據(jù)檢所驅(qū)動,實現(xiàn)對大型數(shù)據(jù)包的快速打開與信息檢索,最終通過moloch提供的Web的頁面實現(xiàn)對數(shù)據(jù)包的瀏覽、搜索、分析,也可使用PCAP格式存儲和導(dǎo)出所有數(shù)據(jù)包。圖1為moloch系統(tǒng)單主機的部署圖。

圖1 moloch系統(tǒng)單主機的部署圖
(1)Moloch安裝
基于Centos7:wget https://files.molo.ch/builds/centos-7/moloch-1.5.2-1.x86_64.rpm。
官網(wǎng)下載Nightly版本安裝包,以獲取最新特性,安裝后可通過運行./configure命令進入moloch設(shè)置目錄,首次安裝可進行網(wǎng)卡選擇、數(shù)據(jù)庫地址、設(shè)定賬號密碼等配置,具體設(shè)置信息可參考moloch官網(wǎng)。
(2)安裝capture
Moloch默認使用libpcap進行抓包,通過參考文獻[6]對PFRING機制進行了深入地分析,了解了PFRING機制的原理、實現(xiàn),最終選擇在線安裝pfring以提升抓包性能。
(3)elasticsearch安裝及配置
Elasticsearch是個開源分布式搜索引擎,文獻[7]介紹了es的相關(guān)功能與使用方式,它擁有:開源、靈活性、分布式,零配置,自動發(fā)現(xiàn),索引自動分片,索引副本機制,restful風(fēng)格接口,多數(shù)據(jù)源,自動搜索負載等特點,配置簡單且功能強大。es可以選擇在配置moloch時候安裝,也可以單獨安裝。安裝es后可選擇進行虛擬內(nèi)存、存儲告警等設(shè)置,最后可通過訪問:http://127.0.0.1:9200,根據(jù)出現(xiàn)信息來判斷es安裝是否成功。
由于校園網(wǎng)絡(luò)環(huán)境數(shù)據(jù)流量大,服務(wù)器可能會因為數(shù)據(jù)包過大出現(xiàn)卡頓現(xiàn)象,這時可以通過moloch系統(tǒng)腳本進行控制。系統(tǒng)磁盤保留空間一般默認為5%,可通過配置moloch安裝路徑下的config文件更改保留空間大小。在企業(yè)或高校的日常運維中,也可通過定時任務(wù)每天自動檢查磁盤使用情況,達到設(shè)定閥值實現(xiàn)告警功能,方便日常維護。傳統(tǒng)的抓包軟件在存儲數(shù)據(jù)過大時,很難進行對數(shù)據(jù)包的打開及分析,moloch回溯系統(tǒng)在es的支持下系統(tǒng)檢索速度顯著提升。
Moloch中每一個會話過程都有第一個包、最后一個包和完整會話的數(shù)據(jù)時間戳,多數(shù)Moloch版本都可通過頂部搜索欄下拉框的不同選項實現(xiàn)對數(shù)據(jù)包起始時間的設(shè)定。例如,在查詢頁面中,F(xiàn)irst Packet為一個會話接收的第一個包的時間戳,Last Packet為一個會話接收的最后一個包的時間戳,Sessions會話部分主要用于分析流量,SPI則用于詳細分析一個會話。通過moloch更直觀的Web頁面,可以寫一些search expression來檢索我們所需要的信息。當(dāng)我們搜索ip.src==172.16.245.55&&protocols==http語句時,即可查看源ip為172.16.245.55并且協(xié)議為http的數(shù)據(jù)包;語句country == CN && port == 80 && host == *com 即表示過濾中國范圍內(nèi)使用80端口并且主機名或域名中包含 ".com"的會話。
moloch流量監(jiān)控所展示的是數(shù)據(jù)包的一次完整對話,可以在一條記錄內(nèi)查看數(shù)據(jù)的發(fā)送端與接收端的相關(guān)信息。當(dāng)網(wǎng)絡(luò)發(fā)生異常時(例如:延時較高、頁面無法訪問等),可通過已經(jīng)捕獲并且存儲在服務(wù)器中的數(shù)據(jù)包,展開以TCP為核心,各種網(wǎng)絡(luò)協(xié)議為單位的數(shù)據(jù)分析,判斷數(shù)據(jù)包所出現(xiàn)的問題。例如通過數(shù)據(jù)包接收端的IP地址,可以分析出地理差異等因素,通過流量數(shù)據(jù)包大小可以分析流量差異等因素,如圖2。

圖2 數(shù)據(jù)包
本文總結(jié)了對基于網(wǎng)絡(luò)流量回溯系統(tǒng)的網(wǎng)絡(luò)質(zhì)量分析與設(shè)計的基本探索,從安裝、抓包以及分析三個方面介紹此系統(tǒng)。相較于傳統(tǒng)的抓包分析軟件,流量回溯系統(tǒng)在抓包速度,數(shù)據(jù)包存儲容量,數(shù)據(jù)包查找分析速度等方面有了質(zhì)的提升,在日常的網(wǎng)絡(luò)維護中發(fā)揮了重要作用。
隨著網(wǎng)絡(luò)規(guī)模的不斷擴大,網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,流量回溯系統(tǒng)在排查及解決復(fù)雜網(wǎng)絡(luò)問題領(lǐng)域的應(yīng)用會更加廣泛。人們對網(wǎng)絡(luò)質(zhì)量的要求逐步上升,流量回溯系統(tǒng)也會進一步發(fā)揮它的優(yōu)勢,在國內(nèi)廣泛的應(yīng)用起來。
[1]鞏付鑫.基于Web瀏覽的視頻監(jiān)控與回溯系統(tǒng)的研究與設(shè)計[D]. 南京郵電大學(xué),2016.
[2]于宗一,曲強,邱愷,趙麗麗,陳樹生.醫(yī)院網(wǎng)絡(luò)流量回溯分析系統(tǒng)應(yīng)用實踐[J].中國衛(wèi)生信息管理雜志,2017,014(005):691-694.
[3]趙厲. 基于GPU的分布式數(shù)據(jù)包采集與回溯分析系統(tǒng)設(shè)計及實現(xiàn)[D]. 山東科技大學(xué),2018.
[4]舒園園. 運營商網(wǎng)絡(luò)流量安全監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D]. 南京郵電大學(xué),2016.
[5]曹志偉. 企業(yè)內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)包捕獲引擎的設(shè)計與實現(xiàn)[D]. 西安電子科技大學(xué),2015.
[6]劉津銘.高速網(wǎng)卡數(shù)據(jù)傳輸?shù)难芯颗c實現(xiàn)[D].電子科技大學(xué),2013.
[7](印度)波哈維?荻西特著;劉志斌譯. 深入理解Elasticsearch 原書第3版[M]. 北京:機械工業(yè)出版社,2019.
[8]刁曉婧. 高校校園網(wǎng)絡(luò)安全問題分析及對策[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(07).
西南石油大學(xué)課外開放實驗項目立項(KSP19G05)