snort是一個入侵檢測/防御系統
snort分為三個模塊,嗅探器,數據包記錄器,網絡安全入侵檢測系統。嗅探器模式僅僅從網絡上讀取數據包作為連續不斷的流顯示在終端上。數據包記錄模式把數據記錄在硬盤上。網絡入侵檢測系統是最復雜的,可以配置的。我們可以讓snort分析網絡數據流以匹配用戶的一些規則,並根據檢測結果采取一定的動作。
安裝snort,進入cmd,找到d:/snort/bin如下圖:

snort -W 檢查網卡信息。
./snort -v 把tcp/ip的包頭信息顯示在屏幕上。
./snort -vd 不僅顯示tcp/ip也顯示應用層數據。
./snort -vde不僅顯示包頭信息也顯示數據鏈路層信息
./snort -dve -l ./log 把包記錄在硬盤上,需要指定一個目錄./log,./log目錄必須存在要不然報錯。
./snort -dev -l ./log -h 192.168.1.0/24這個命令告訴把進入c網絡192168.1的所有包的數據鏈路層,tcp/ip,應用層的所有數據記錄在./log目錄上。
./snort -l ./log -b把所有的包記錄在一個單一的二進制文件中。
./snort -dv -r package.log 把二進制文件包打印在屏幕上。
./snort -dvr package.log icmp 從日志文件中讀取icmp包。
下面:
抓包命令:
snort.exe -A console -c D:\snort\bin\snort.conf -k none -l D:\snort\log -i 2
選用 -A console可以在屏幕上顯示報警內容。
選用 -c 配置文件所在路徑。
選用 -k 設置校驗和模式。
選用 -l 設置數據包存放目錄。
選用 -i 網卡標號
一些常用的命令參數如下:
用法:
snort -[options] <filters>
選項:
-A <alert> 設置報警模式,alert = full/fast/none/unsock,詳解上一篇snort簡介。
-b 用二進制文件保存網絡數據包,以應付高吞吐量的網絡。
-B <mask> 將IP地址信息抹掉,去隱私化。
-c <cf> 使用配置文件<cf>,這會使得snort進入IDS模式,並從<cf>中讀取運行的配置信息。
-d 顯示包的應用層數據。
-D 以后台進程運行snort。如無指定,Alerts將寫到/var/log/snort/alert。
-e 顯示數據鏈路層的信息。
-E 保存報警日志為windows事件日志。
-f 激活PCAP行緩沖(line buffering)。
-F <bpf> 指定BPF過濾器。
-g <gname> 初始化Snort后以組ID(group ID)運行。
-G <id> 為事件生成設置一個基礎事件id值。
-h <hn> 設置本地網絡為hn,如192.168.1.0/24。
-i <if> 設置網絡接口為<if>。可以用-W選項查詢網絡接口列表,然后用接口序號index指定接口。如-i 2
-I 報警時附加上接口信息。
-J <port> 當以in-line模式運行時,這個選項將只捕獲<port>端口的報文。
-k <checksum mode> 為all,noip,notcp,noudp,noicmp,or none設置校驗和模式。
-K <logging mode> 設置保存文件的格式:pcap,ascii, none。pcap是默認格式,同於-b選項的格式。ascii是老的模式格式。none則關閉數據包記錄。
-l <ld> 設置數據包文件存放目錄<ld>。默認目錄是/var/log/snort.
-L <fn> 設置二進制輸出文件的文件名為<fn>。
-M 當以非后台模式daemon運行時,保存信息到syslog。
-m <mask> 設置snort輸出文件的權限位。
-n <count> 出來<count>個報文后終止程序。
-N 關閉保存日志包功能。
-o 改變應用規則的順序。從Alert-->Pass-->Log順序改為Pass-->Alert-->Log,避免了設置大量BPF命令行參數來過濾alert規則。
-O 在ASCII數據包捕獲模式下混淆IP地址。
-p 關閉混雜模式。
-P<snaplen> 設置snaplen,默認值是當前網卡的MTU。
-q 安靜模式,不顯示標志和狀態報告。
-Q 當在線(in-line)運行時,從iptables/IPQ中讀取數據包。
-r <tf> 從pcap格式的文件中讀取數據包。
-R <name> 為snort pidfile增加下標。
-s 使snort把報警消息發送到syslog,默認的設備是LOG_AUTHPRIV和LOG_ALERT。可以修改snort.conf文件修改其配置。
-S <n=v> 為變量n設置值為v。
-t <chroot> 初始化后將Snort的根目錄改變為<chroot>。
-T 以自檢測模式啟動Snort。
-u <uname> 初始化后改變Snort的UID。
-U 在時間戳上用UTC時間代替本地時間。
-v 從網絡上讀出數據包然后顯示在你的控制台上。
-V 查看版本號並退出。
-w 如果運行在802.11網中,顯示管理幀。
-W *WIN32 ONLY*列出可以網絡接口。其中的Index或Device Name都可以用到-i選項中。
- X 顯示包括數據鏈路層的原始數據包。
-y 在時間戳里顯示年份。
-Z <path> 設置性能監視器(perfmon)路徑。
-? 幫助信息。
長參數選項
--logid <0xid> Same as -G
--perfmon-file <file> Same as -Z
--pid-path <path> Specify the path for the Snort PID file
--snaplen <snap> Same as -P
--help Same as -?
--dynamic-engine-lib <file>
指定動態監測引擎文件
--dynamic-detection-lib <file>
指定一個動態規則庫文件
--dynamic-detection-lib-dir <path>
指定所有動態規則庫路徑
--dump-dynamic-rules <path>
為所有加載的規則庫創建根規則文件
--dynamic-preprocessor-lib <file>
指定動態預處理庫文件
--dynamic-preprocessor-lib-dir <path>
指定動態預處理庫路徑
--dump-dynamic-preproc-genmsg <path>
為所有加載的預處理庫生成gen-msg.map文件到路徑<path>.
--alert-before-pass
在pass之前處理alert, drop, sdrop, or reject. 默認是pass before alert, drop, etc.
--treat-drop-as-alert
Converts drop, and reject rules into alert rules during startup. sdrop rules are not loaded.將drop處理為alert。
--process-all-events
Process all triggered events in group order, per Rule Ordering configuration. Default stops after first group.
--pid-path <path>
Specify the path for Snort's PID file. 為SnortPID文件指定路徑。
--create-pidfile
Create PID file, even when not in Daemon mode. 創建PID文件。
--enable-inline-test
Runs snort in "inline test mode". This option cannot be used with -Q. 在線測試模式。
