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自定义规则场景,可根据需求选择合适的工具进行调整。