歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Snort 中文手冊

Snort 中文手冊

日期:2017/2/28 14:38:54   编辑:Linux教程

Snort 用戶手冊

第一章 snort簡介

snort有三種工作模式:嗅探器、數據包記錄器、網絡入侵檢測系統。嗅探器模式僅僅是從網絡上讀取數據包並作為連續不斷的流顯示在終端上。數據包記錄器模式把數據包記錄到硬盤上。網路入侵檢測模式是最復雜的,而且是可配置的。我們可以讓snort分析網絡數據流以匹配用戶定義的一些規則,並根據檢測結果采取一定的動作。

嗅探器

所謂的嗅探器模式就是snort從網絡上讀出數據包然後顯示在你的控制台上。首先,我們從最基本的用法入手。如果你只要把TCP/IP包頭信息打印在屏幕上,只需要輸入下面的命令:

  ./snort -v

使用這個命令將使snort只輸出IP和TCP/UDP/ICMP的包頭信息。如果你要看到應用層的數據,可以使用:

  ./snort -vd

這條命令使snort在輸出包頭信息的同時顯示包的數據信息。如果你還要顯示數據鏈路層的信息,就使用下面的命令:

  ./snort -vde

注意這些選項開關還可以分開寫或者任意結合在一塊。例如:下面的命令就和上面最後的一條命令等價:

  ./snort -d -v –e

數據包記錄器

如果要把所有的包記錄到硬盤上,你需要指定一個日志目錄,snort就會自動記錄數據包:

  ./snort -dev -l ./log

當然,./log目錄必須存在,否則snort就會報告錯誤信息並退出。當snort在這種模式下運行,它會記錄所有看到的包將其放到一個目錄中,這個目錄以數據包目的主機的IP地址命名,例如:192.168.10.1

  如果你只指定了-l命令開關,而沒有設置目錄名,snort有時會使用遠程主機的IP地址作為目錄,有時會使用本地主機IP地址作為目錄名。為了只對本地網絡進行日志,你需要給出本地網絡:

  ./snort -dev -l ./log -h 192.168.1.0/24

這個命令告訴snort把進入C類網絡192.168.1的所有包的數據鏈路、TCP/IP以及應用層的數據記錄到目錄./log中。

如果你的網絡速度很快,或者你想使日志更加緊湊以便以後的分析,那麼應該使用二進制的日志文件格式。所謂的二進制日志文件格式就是tcpdump程序使用的格式。使用下面的命令可以把所有的包記錄到一個單一的二進制文件中:

  ./snort -l ./log -b

注意此處的命令行和上面的有很大的不同。我們勿需指定本地網絡,因為所有的東西都被記錄到一個單一的文件。你也不必冗余模式或者使用-d、-e功能選項,因為數據包中的所有內容都會被記錄到日志文件中。

你可以使用任何支持tcpdump二進制格式的嗅探器程序從這個文件中讀出數據包,例如: tcpdump或者Ethereal。使用-r功能開關,也能使snort讀出包的數據。snort在所有運行模式下都能夠處理tcpdump格式的文件。例如:如果你想在嗅探器模式下把一個tcpdump格式的二進制文件中的包打印到屏幕上,可以輸入下面的命令:

  ./snort -dv -r packet.log

在日志包和入侵檢測模式下,通過BPF(BSD Packet Filter)接口,你可以使用許多方式維護日志文件中的數據。例如,你只想從日志文件中提取ICMP包,只需要輸入下面的命令行:

  ./snort -dvr packet.log icmp

網絡入侵檢測系統

snort最重要的用途還是作為網絡入侵檢測系統(NIDS),使用下面命令行可以啟動這種模式:

  ./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf

snort.conf是規則集文件。snort會對每個包和規則集進行匹配,發現這樣的包就采取相應的行動。如果你不指定輸出目錄,snort就輸出到/var/log/snort目錄。

注意:如果你想長期使用snort作為自己的入侵檢測系統,最好不要使用-v選項。因為使用這個選項,使snort向屏幕上輸出一些信息,會大大降低snort的處理速度,從而在向顯示器輸出的過程中丟棄一些包。

此外,在絕大多數情況下,也沒有必要記錄數據鏈路層的包頭,所以-e選項也可以不用:

  ./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf

這是使用snort作為網絡入侵檢測系統最基本的形式,日志符合規則的包,以ASCII形式保存在有層次的目錄結構中。

網絡入侵檢測模式下的輸出選項

在NIDS模式下,有很多的方式來配置snort的輸出。在默認情況下,snort以ASCII格式記錄日志,使用full報警機制。如果使用full報警機制,snort會在包頭之後打印報警消息。如果你不需

要日志包,可以使用-N選項。

snort有6種報警機制:full、fast、socket、syslog、smb(winpopup)和none。其中有4個可以在命令行狀態下使用-A選項設置。這4個是:

  • -A fast:報警信息包括:一個時間戳(timestamp)、報警消息、源/目的IP地址和端口。
    -A full:是默認的報警模式。
    -A unsock:把報警發送到一個UNIX套接字,需要有一個程序進行監聽,這樣可以實現實時報警。
    -A none:關閉報警機制。

使用-s選項可以使snort把報警消息發送到syslog,默認的設備是LOG_AUTHPRIV和LOG_ALERT。可以修改snort.conf文件修改其配置。

snort還可以使用SMB報警機制,通過SAMBA把報警消息發送到Windows主機。為了使用這個報警機制,在運行./configure腳本時,必須使用--enable-smbalerts選項。
下面是一些輸出配置的例子:

使用默認的日志方式(以解碼的ASCII格式)並且把報警發給syslog:

./snort -c snort.conf -l ./log -s -h 192.168.1.0/24

使用二進制日志格式和SMB報警機制:  

./snort -c snort.conf -b -M WORKSTATIONS

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-11/92265p2.htm

Snort 的詳細介紹:請點這裡
Snort 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved