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

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

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