libpcap(抓包引擎)。libpcap-0.6.2.tar.gz、snort-1.9.0.tar.gz。# 1. 安裝 libpcap
tar zxvf libpcap-0.6.2.tar.gz
cd libpcap-0.6.2
./configure --prefix=/usr/local/libpcap-0.6.2
make && make install
# 2. 安裝 Snort (不需 MySQL 支援)
cd ../snort-1.9.0
./configure --prefix=/usr/local/snort19
make && make install
# 3. 複製配置與規則目錄
cp -r etc /usr/local/snort19
cp -r rules /usr/local/snort19
# 4. 整理配置檔
cp etc/classification.config /root/
cp etc/snort.conf /root/.snortrc
vi /root/.snortrc
# 第 102 行: var RULE_PATH ../rules → var RULE_PATH /usr/local/snort19/rules
# 第 590 行起: 依環境啟用所需規則集 (include $RULE_PATH/xxx.rules)
# 保存退出
# 5. 將執行檔鏈接至 PATH
cp /usr/local/snort19/bin/snort /usr/sbin/snort
# 6. 建立日誌目錄
mkdir -p /var/log/snort
snort
# 輸出關鍵字樣:
Initializing Output Plugins!
Log directory = /var/log/snort
Initializing Network Interface eth0 using config file /root/.snortrc
Initializing Preprocessors!
Initializing Plug-ins!
Parsing Rules file /root/.snortrc
...
出現上述資訊即安裝成功。
| 參數 | 說明 |
|---|---|
| -A fast|full|console|none | 警報模式:快速/完整/主控台/無(僅日誌) |
| -b | 以 tcpdump 格式寫入二進位日誌(效能最佳) |
| -c <file> | 指定配置檔路徑 |
| -d | 顯示應用層資料 |
| -D | 背景精靈模式運行 |
| -e | 顯示鏈路層標頭 |
| -h <CIDR> | 設定本地網段 (如 192.168.1.0/24) |
| -i <iface> | 指定監聽介面 |
| -l <dir> | 指定日誌目錄 |
| -z | 僅匹配已建立 TCP 會話 (減少噪音) |
作者常用組合: snort -A fast -D -b -e -z(快速警報、背景運行、二進位日誌、顯示 L2 標頭、僅檢測已建立會話)。
11/13-05:29:27.429801 UDP src: 24.24.146.64 dst: 202.196.64.30 sport: 1028 dport: 137 tgts: 6 ports: 6 event_id: 0
11/13-05:29:27.759801 UDP src: 24.24.146.64 dst: 202.196.64.32 sport: 1028 dport: 137 tgts: 7 ports: 7 event_id: 471
...
解讀:來源 IP 24.24.146.64 針對 202.196.64.0/24 連續掃描 UDP 137 (NetBIOS Name Service),判斷為**共享枚舉**或**低級作業系統指紋識別**行為(高級指紋工具不掃 137 埠)。
字段含義:src 來源 IP、dst 目標 IP、sport/dport 來源/目標埠、tgts/ports 目標/埠計數、event_id 規則觸發 ID。
編譯時加入 --with-mysql,配置 snort.conf output database: log, mysql, ...,配合 BASE (Basic Analysis and Security Engine) Web 介面實現圖形化查詢、報表、告警,極大提升運維效率。
Snort 以開源、輕量、規則豐富成為 IDS 事實標準。掌握源碼編譯、規則裁剪、參數調優、日誌解讀與資料庫整合,即可在預算有限環境下建立企業級網路威脅可見性基線。