OSSIM下數據包過濾技巧

OSSIM下數據包過濾技巧


本文需要OSSIM WebUI操作基礎以及Wireshark網絡抓包經驗。下面講述的內容需在分佈式OSSIM系統中完成。


1、數據包過濾種類


收集到的大量網絡數據需要對其進行一定的處理,也就是過濾,這種過濾主要分爲以下4種:

l  基於主機(IP)的流量過濾,如果需要監控的信息中包含某個IP,那麼就可以採用這種基於主機的過濾方式。

l  基於端口的流量過濾,如果需要的信息中包含特點端口(源端口和目的端口)那麼就可以用這種方式。

l  基於協議+端口的流量過濾。

l  基於主機+端口的流量過濾。


大家先了解以下幾操作方法:(注意原來在wireshark下的一些過濾規則在此處不可以,下面總結了一些有效方法)

tcp dst port 22作用:顯示目的TCP端口爲22的數據包。

ip src host 192.168.150.10作用:顯示來源IP地址爲192.168.150.10的數據包。

host 192.168.150.10作用:顯示目的或來源IP地址爲192.168.150.10的數據包。

src port range 3000~5500 顯示來源爲UDPTCP,並且端口號在30005500範圍內的數據包。

not icmp顯示除了ICMP以外的所有數據包(ICMP通常被Ping工具使用)。

src host 10.7.2.12 and not dst net 10.200.0.0/16 顯示源IP地址爲10.7.2.12,但目的地不是10.200.0.0/16的數據包。


    用Wireshark打開一些Pcap數據包後,每條消息的所有field 會被解析出來並會按照協議層次摺疊起來。第一層顯示的是Frame XXX,這一級別沒有對應某層具體的協議,而是對本條消息的一個概括性總結,描述了一些有用的概括性信息,比如從裏面我們可以看到本條消息各種協議的層次關係,展開其它協議層之後對應的是該協議的各個域,如果需要使用過濾時可以使用以上介紹的幾種方法,程序截獲數據包分析如圖1所示。如果點擊Graphs按鈕可以獲取到更多有關協議和流量的信息。

blob.png

圖1 分析數據包

·           注意:如果OSSIM系統的Sensor出現問題那麼這一功能將無法使用,下面看個例子,如果SensorServer通訊故障將影響到NtopOpenvas以及抓包功能的使用。

blob.png

2 Sensor失效

這時在操作界面的左邊方框中沒有找到可用Sensor,這時抓包功能無法使用。


2、 Wireshark過濾匹配表達式實例


2.1 過濾基礎

首先說幾個最常用的關鍵字,“eq”和“= =”等同,可以使用“and”表示並且,“or”表示或者。“!" "not”則表示取反。對IP地址的過濾其中有幾種情況:

1)對源地址爲192.168.11.121的包的過濾,即抓取源地址滿足要求的包。

表達式爲:ip.src = = 192.168.11.121

照此方法我們可以填寫到過濾的表單中然後點擊“Apply”按鈕即可過濾出結果。

如果輸入地址沒有找到則顯示”no data with this filter”

 

2)對目的地址爲192.168.0.1的包的過濾,即抓取目的地址滿足要求的包。

表達式爲:ip.dst = = 192.168.0.1

 

3)抓取滿足源或者目的地址的IP地址是192.168.0.1的封包。

表達式爲: ip.src = = 192.168.0.1 or ip.dst = = 192.168.0.1


2.2 協議過濾


1)僅僅需要捕獲某種協議的數據包,表達式很簡單僅僅需要把協議的名字輸入即可。

表達式爲:http

那麼在進行數據包過濾是在Filter:中輸入http即可。如圖3所示。

blob.png

3  過濾Http協議

2)排除某種協議的數據包

表達式爲:!tcp 

排除IP協議:blob.png


2.3 對端口的過濾


1)捕獲某一端口的數據包。

表達式爲:tcp.port == 80

blob.png

4   端口過濾

2)捕獲多端口的數據包,可以使用and來連接,下面是捕獲高位端口(大於1024)的表達式。

表達式爲:udp.port>= 2048


2.4對包長度的過濾


一組數據包查看它們的大小,會發現很多問題,在正常情況下,一個以太網的最大幀長爲1518字節,去除以太網、IP以及TCP頭,還剩1460字節可供應用層協議的頭或者數據使用。那麼我們根據這個原則就能通過捕獲數據包分析長度瞭解其分佈然後對故障進行合理的分析和猜測。不過在OSSIM系統中這一功能交給Ntop來完成,下面我們看看如何通過一些表達式多包進行過濾。

1)針對長度的過慮(這裏的長度指定的是數據段的長度)。

表達式爲:udp.length< 86

blob.png

5  長度過濾

我們知道以太網頭是14字節(包括了4字節的CRC校驗),IP頭最小20字節,沒有數據以及選項的TCP數據包也是20字節,這也就是說TCP用於控制的數據包,例如ACKRST以及FIN的大小大約是54字節。查看那些長度小於64字節的數據包。

過濾器表達式如下:

frame.len<=64

blob.png

6  長度過濾

同樣方法可以使用如下表達式:

frame.number<=10   代表過濾出幀數小於10的所有包

fram.number= =10  代表過濾出幀數爲10的包

通過以上的最基本的功能的學習,如果隨意發揮,可以靈活應用,就基本上算是入門了。我們還可以根據IP地址+端口進行過濾,比如在Filter:後面輸入:“ip.addr==192.168.11.1&& udp.port==53”效果如圖7所示。


blob.png

7   根據IP+端口過濾

將以上方法經過組合應用就可發揮出強大的過濾效果。Wireshark除了GUI工具外還有對應的命令行工具─tshark。在遠程環境下相當實用。下面就簡單的說說常用的一些功能。tshark平常遠程登錄時抓包很好用,而且可以直接解析,但總是不很記得如何打印出原本16進制的數據。抓包命令如下:

#tshark - w test.pcap -i eth0 - q

l  -w 將抓包的數據寫入文件filename中。

l  -i指定要抓包的接口名稱。

l  -q 安靜,在遠程時最有用,否則會抓到SSH的報文。

l  -r 指定要讀取的包文件。

l  -x 16進制原始包數據打印出來。

l  -V 將包儘可能的解析(這個有時在包數量很多的情況下可以不使用,這樣它會給出一個很簡潔的報文解釋)。

blob.png

8  tshark抓包


2.5 操作舉例:

以每秒間隔,統計 IP 地址 192.168.120.78 的封包、字節數量。輸入以下命令。

tshark -z io,stat,1,ip.addr==192.168.120.78

blob.pngblob.png

blob.png

圖9   tshark抓包

實際上通過對網絡數據包的分析可以找到不少網絡***時的奧祕,因爲素有的網絡***行爲一定是通過數據包傳送,而每種不同的***方式在網絡上都會產生某種行爲特徵,比如說,當Syn Flooding***時,網絡上立刻會產生大量帶有SYN標誌位的數據包,通過抓包就能發現,再如Code red蠕蟲在感染IIS 時,在網上也會出現發送給Web服務器80端口的數據包,而且其中包含“GET /.*.ida?*XX*%u{4}%u780*=.{7}HTTP /1.0\r\n’”特徵的字符串特徵信息。最爲網絡安全人員,我們要善於利用Web界面的Wireshark來分析網絡的***行爲,有的***產生小包(< 64 Bytes),而有的***則會產生巨人幀,我們通過不斷總結***行爲將行爲特徵記錄到數據庫,這樣就能不斷沉澱不斷積累而形成一個大的適合企業自身的病毒查詢知識庫。

 

3. 遠程故障處理應用案例

對於本地機房維護時如遇到網絡病毒爆發或者通訊故障,管理員會通過上面抓包方式來分析故障,但如果是異地機房除了同樣的問題,你需要在遠程深度分析網絡數據包的情況,該怎麼辦?你可能需要臨時聯繫對方運維人員開始配置端口鏡像,並部署抓包設備,而這種低效的響應方式往往耽誤了分析故障的最佳時機。

下面我們看看通過分佈式OSSIM部署的解決方法,公司總部C部署了一臺高性能OSSIM服務器,在異地分公司A機房和B機房部署了Sensor,它們通過×××Ossim Server連接。異地機房的Sensor分別連入交換機的SPAN口,當工作需要時,能夠實時抓取網絡數據。

10.jpg

圖10 OSSIM Server/Sensor部署示意

A機房內服務器出現故障,需要總部運維人員支持時,他們可以連接到OSSIMWeb UI界面, 通過Traffic capture並選擇對應的Sensor,然後開始抓包,並進行後續分析,這樣部署大大提高了遠程機房之間數據包分析的效率,上面第一節和第二節介紹的過濾數據包的技巧就在此時發揮作用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章