CentOS Sniffer自定義規則設置指南
在CentOS系統中,“Sniffer”通常指tcpdump(命令行網絡分析工具)或netsniff(第三方源碼級嗅探工具),以下分別介紹兩者的自定義規則設置方法,涵蓋基礎過濾、配置文件調整及高級功能。
tcpdump是CentOS默認安裝的網絡嗅探工具(若未安裝,可通過sudo yum install tcpdump
安裝),支持通過過濾表達式精準捕獲所需流量。
過濾規則由協議、IP地址、端口、邏輯運算符組合而成,常見格式如下:
tcp
(TCP流量)、udp
(UDP流量)、icmp
(ICMP流量,如ping)。src host 192.168.1.100
(源IP為192.168.1.100)、dst host 10.0.0.1
(目標IP為10.0.0.1)、host 192.168.1.100
(源或目標IP為192.168.1.100)。src port 80
(源端口為80,如HTTP請求)、dst port 443
(目標端口為443,如HTTPS響應)、port 22
(源或目標端口為22,如SSH)。and
(與)、or
(或)、not
(非),例如tcp and src port 80
(TCP且源端口為80)、host 192.168.1.100 or host 10.0.0.1
(源或目標為這兩個IP之一)。sudo tcpdump -i eth0 'tcp src port 80'
sudo tcpdump -i eth0 'src host 192.168.1.100 and tcp dst port 443'
sudo tcpdump -i eth0 'icmp'
-w
選項將數據包保存到.pcap文件(后續可用Wireshark分析):sudo tcpdump -i eth0 -w capture.pcap
/etc/tcpdump/tcpdump.conf
),通過-F
選項加載:echo "tcp src port 80" | sudo tee /etc/tcpdump/tcpdump.conf
sudo tcpdump -i eth0 -F /etc/tcpdump/tcpdump.conf
netsniff是基于源碼的網絡嗅探工具(需手動下載編譯),支持更靈活的配置文件管理,適合需要深度定制的場景。
sudo yum groupinstall "Development Tools" -y
sudo yum install ncurses-devel zlib-devel awk flex quilt git-lfs openssl-devel xz -y
git clone https://github.com/netsniff/netsniff.git
cd netsniff
make
sudo make install
/etc/netsniff/netsniff.conf
,需用文本編輯器(如vi
)修改。配置文件中的關鍵參數及作用如下:
CAPTURE_ENABLED 1
(啟用捕獲,0為禁用)。MODE promisc
(混雜模式,捕獲所有經過接口的流量;MODE nonpromisc
為普通模式,僅捕獲目標為本機的流量)。INTERFACE eth0
(指定監聽的網絡接口,如eth0、wlan0)。FILTER "tcp and src host 192.168.1.100"
(BPF語法過濾規則,同tcpdump)。sudo /usr/local/bin/sniff
sudo
或root權限。以上方法覆蓋了CentOS下常見的Sniffer自定義規則場景,可根據需求選擇合適的工具進行調整。