一、安装必要依赖库
在CentOS系统中,首先需要安装编译Sniffer所需的开发工具及依赖库,确保后续步骤能顺利执行。执行以下命令:
sudo yum groupinstall "Development Tools" -y # 安装基础开发工具链(gcc、make等)
sudo yum install ncurses-devel zlib-devel awk flex quilt git-lfs openssl-devel xz -y # 安装具体依赖库
上述命令涵盖了编译过程中需要的头文件、库文件及工具。
二、下载并解压Sniffer源代码
以常见的netsniff工具为例,通过Git从官方仓库克隆源代码(若需其他Sniffer工具,可替换对应仓库地址):
git clone https://github.com/netsniff/netsniff.git # 克隆源码仓库
cd netsniff # 进入源码目录
若仓库包含子模块(如部分项目使用git submodule),可能需要额外执行git submodule update --init初始化子模块。
三、编译并安装Sniffer
进入源码目录后,通过make命令编译源代码,再使用sudo make install将编译好的程序安装到系统目录:
make # 编译源代码(生成可执行文件)
sudo make install # 将程序安装到默认路径(如/usr/local/bin)
部分项目可能要求先创建build目录并使用cmake配置(如mkdir build && cd build && cmake .. && make),但多数轻量级Sniffer工具可直接通过make完成编译。
四、配置Sniffer
Sniffer的默认配置文件通常位于/etc/netsniff/netsniff.conf(若未找到,可通过find / -name "netsniff.conf"查找)。使用文本编辑器(如vi或nano)修改配置文件,关键参数说明如下:
CAPTURE_ENABLED=1(1表示启用,0表示禁用);MODE=promisc(混杂模式,捕获所有经过接口的流量;nonpromisc为普通模式,仅捕获目标为本机的数据包);INTERFACE=eth0(替换为实际网卡名称,可通过ip a命令查看);FILTER="tcp and src host 192.168.1.100"(BPF语法,仅捕获符合条件的流量,如源IP为192.168.1.100的TCP流量)。五、启动Sniffer
配置完成后,可通过以下方式启动Sniffer:
sudo /usr/local/bin/sniff # 直接运行可执行文件(需root权限,因捕获数据包需访问网络接口)
若需让Sniffer随系统启动自动运行,可将启动命令添加到系统服务(如/etc/rc.local)或使用systemctl创建自定义服务(需编写.service文件)。
注意事项
libpcap),可通过sudo yum install libpcap-devel安装。