[摘 要] 網(wǎng)絡監(jiān)聽主要是為了管理網(wǎng)絡,監(jiān)視網(wǎng)絡的狀態(tài)和數(shù)據(jù)流動情況。但是由于它能有效地截獲網(wǎng)上的數(shù)據(jù),可作為網(wǎng)絡數(shù)據(jù)錄取和網(wǎng)絡管理的重要手段,通過記錄網(wǎng)絡上全部底層報文、監(jiān)控流經(jīng)網(wǎng)絡全部信息流,提供應用層協(xié)議的報文重組、還原再現(xiàn)。
[關鍵詞] 網(wǎng)絡監(jiān)聽技術 報文 以太網(wǎng)通信
網(wǎng)絡監(jiān)聽作為數(shù)據(jù)錄取的一種重要手段,通過接受目標狀態(tài)參數(shù)、環(huán)境噪聲、被試系統(tǒng)運行數(shù)據(jù),記錄各有關傳感器和信息源模擬的傳感器和信息源輸出參數(shù),記錄評估要求的時刻參數(shù),記錄指揮系統(tǒng)/信息融合及目標綜合識別系統(tǒng)的運行數(shù)據(jù),記錄網(wǎng)絡系統(tǒng)狀態(tài)模擬數(shù)據(jù)等,可供評估時使用。
同時網(wǎng)絡監(jiān)聽系統(tǒng)通過截獲網(wǎng)上的數(shù)據(jù)并進行分析處理,可以達到管理網(wǎng)絡、監(jiān)測網(wǎng)絡的運行狀態(tài)、網(wǎng)絡故障告警、網(wǎng)絡故障隔離、網(wǎng)絡節(jié)點信息收集的目的,收集處理的信息通過網(wǎng)絡發(fā)往系統(tǒng)的其他節(jié)點,該設備不影響整個系統(tǒng)網(wǎng)絡的正常運行,所收集處理的信息有助于網(wǎng)絡的維護管理。
一、網(wǎng)絡監(jiān)聽技術
網(wǎng)絡監(jiān)聽技術主要是指在局域中捕獲所有的IP包,并對IP包進行分析,是網(wǎng)絡流量測量和網(wǎng)絡管理的基礎,它可以在網(wǎng)上的任何一個位置實施,如局域網(wǎng)中的一臺主機、網(wǎng)關上或遠程網(wǎng)的調(diào)制解調(diào)器之間等。當主機工作在監(jiān)聽模式下,則所有的數(shù)據(jù)幀都將被交給上層協(xié)議軟件處理。當連接在同一條電纜或集線器上的主機被邏輯地分為幾個子網(wǎng)時,如果一臺主機處于監(jiān)聽模式下,它還能接收到發(fā)向與自己不在同一子網(wǎng)(使用了不同的掩碼、IP地址和網(wǎng)關)的主機的那些信包。
為了使主機工作在監(jiān)聽模式下,需要向網(wǎng)絡接口(Interface)發(fā)送I/O控制命令,將其設置為監(jiān)聽模式。網(wǎng)絡監(jiān)聽常常要保存大量的信息,對收集的信息進行大量的整理工作,因此,正在進行監(jiān)的機器對用戶的請求響應很慢。首先,網(wǎng)絡監(jiān)聽軟件運行時,需要消耗大量的處理器時間,如果在此時,就詳細地分析包中的內(nèi)容,許多包就會來不信接收而漏掉。其次,網(wǎng)絡中的數(shù)據(jù)包非常復雜,兩臺主機之間即使連續(xù)發(fā)送和接受數(shù)據(jù)包,在監(jiān)聽到的結果中,中間必然會夾雜了許多別的主機交互的數(shù)據(jù)包。事后通過啟動評估分析軟件,對記錄數(shù)據(jù)進行分析處理,包括對記錄數(shù)據(jù)進行初步的歸類和整理、合理性檢查(剔除異常值)及采樣分析,最后得出統(tǒng)計結果。
二、網(wǎng)絡監(jiān)聽具體應用分析
1.應用環(huán)境
××型數(shù)據(jù)監(jiān)測系統(tǒng)由被監(jiān)測系統(tǒng)和監(jiān)測系統(tǒng)組成(見下圖),從圖中看出,網(wǎng)絡監(jiān)聽系統(tǒng)作為被試和測試系統(tǒng)網(wǎng)絡之間的網(wǎng)關,從被監(jiān)測系統(tǒng)中接收測試數(shù)據(jù),事后傳送記錄評估系統(tǒng)進行分析,得出測試結果。整個系統(tǒng)網(wǎng)絡采用以太網(wǎng)技術和TCP/IP通信協(xié)議,網(wǎng)絡操作系統(tǒng)采用SOLARIS 2.6,數(shù)據(jù)庫采用ORACEL7.3.4。
網(wǎng)絡監(jiān)聽系統(tǒng)在網(wǎng)絡交換機的一個端口監(jiān)聽記錄在該網(wǎng)絡上流動的所有信息。該系統(tǒng)采用B/S結構,由數(shù)據(jù)探測部分和監(jiān)控管理部分。用戶通過WEB頁面對系統(tǒng)進行參數(shù)、策略配置。數(shù)據(jù)探針主要負責數(shù)據(jù)的收集和數(shù)據(jù)的處理。監(jiān)控管理中心主要負責規(guī)則的設置、數(shù)據(jù)的查看和系統(tǒng)的管理。該系統(tǒng)應盡量不占用被測軟件運行資源。
網(wǎng)絡監(jiān)聽系統(tǒng)結構圖如下:
2.具體實例分析
在UNIX系統(tǒng)上,當擁有超級權限的用戶要想使自己所控制的主機進入監(jiān)聽模式,只需要向Interface(網(wǎng)絡接口)發(fā)送I/O控制命令,就可以使主機設置成監(jiān)聽模式了。許多網(wǎng)絡管理工具(如SNIFFER等)都是在局域網(wǎng)上通過捕獲IP數(shù)據(jù)包實現(xiàn)對網(wǎng)絡的分析。如何實現(xiàn)對所有IP包的捕獲,在不同的操作系統(tǒng)中有不同的方法,但基本原理都是用SOCKET進行網(wǎng)絡編程。下面是使用snoop發(fā)現(xiàn)的主機asy8.vineyard.net和主機next之間的一部分對話代碼:
#snoop
asy8.vineyard.net next SMTP C port=1974
asy8.vineyard.net next SMTP C port=1974 MALL FROM: next asy8.vineyard.net SMTP C PORT=1974 250 Asy8.net SMTP C port=1974
Asy8.vineyard.net next SMTP C port=1974 RCPT TO: Next asy8.vineyard.net SMTP C port=1974 250 Asy8.vineyard.net next SMTP C port=1974.
Asy8.vineyard.net next SMPT C port=1974 DATA\\r\.
Next asy8.vineyard.net SMTP c PORT =1974 354 Enter mail,end.
# snoop -I saved -tr -v
ETHER:------------Ether Header------
ETHER:
ETHER: Packet 21 arrived at 17:02:;29.70
ETHER: packet size =85 bytes
ETHER: Desstination =0:20:af:3b:bb:8f,
ETHER: Source =8:0:3e:30:28:87,Motorola VME bus processor
Module
ETHER: Ethertype =0800 (Ip)
ETHER:
包的最外部分是以太幀頭。
IP:-----------IP Header ----------
IP:
IP: Version =4
IP: Header length =20 bytes
IP: Type of service =0x00
Ip: xxx……..=0 (precedence)
IP: …0…=normal delay
IP: ….0...=normal throughput
IP: …..0.. =normal rellability
IP: Total length =71 bytes
IP: Tdentification =2014
IP: Flags =0x0
IP: .0……=may fragment
IP: ..0….. =last fragment
IP: Fragment offest =0 bytes
IP: Time to live =30 seconds/hops
IP: Protocol =17 (UDP)
IP: Header checksum =0714
IP: Source address =11.22.33.41, source.host
IP: Destination address =192.33.4.12, c.root –servers.ndt
IP: No options
IP:
緊跟著以太幀頭的是IP分組的頭部信息。
UDP:-----------UDP Header--------
UDP:
UDP: Source port =53
UDP: Destination port =53 (DNS)
UDP: Length =51
UDP: Checksum =2167
UDP:
這是一個在網(wǎng)絡上傳輸?shù)囊粋€包的信息分解。實際的包由于使用的是流協(xié)議,許多翻譯片信息是用一些位來表示的。并不能直接閱讀和理解。從上面的解釋得知,這是個DNS解析的數(shù)據(jù)包,傳輸層使用的是UDP協(xié)議,應用層使用了DNS服務。該協(xié)議將一個主機名映射為IP地址。
三、結束語
網(wǎng)絡監(jiān)聽有專用硬件設備、軟硬件復用設備和純軟件實現(xiàn)方案。現(xiàn)階段主要是純軟件實現(xiàn)方式為主,其優(yōu)點是易于與被監(jiān)測系統(tǒng)集成相連,缺點是軟件處理能力有限,在網(wǎng)絡流量過大時,可能出現(xiàn)個別捕獲的數(shù)據(jù)包丟失。這里的關鍵技術主要在于調(diào)整捕獲IP包鏈表長度的定義,以及使用多線程編程技術,具體應用時可根據(jù)具體數(shù)據(jù)監(jiān)測任務進行選擇不同的監(jiān)聽技術以滿足各類需求。
參考文獻:
[1]網(wǎng)絡通信技術:人民郵電出版社
[2]UNIX網(wǎng)絡編程技術:電子工業(yè)出版社