一、准备工作:安装必要依赖库
在配置Linux Sniffer前,需先安装编译工具及依赖库,确保后续步骤顺利执行。
sudo apt-get update
sudo apt-get install build-essential libncurses5-dev zlib1g-dev gawk flex quilt git-lfs libssl-dev xz-utils -y
sudo yum groupinstall "Development Tools" -y
sudo yum install ncurses-devel zlib-devel awk flex quilt git-lfs openssl-devel xz -y
二、选择并安装Sniffer工具
常见Linux Sniffer工具包括netsniff(自定义编译安装)、tcpdump(命令行,轻量便捷)、Wireshark(图形界面,功能全面)。以下以netsniff(需从源码编译)和tcpdump(直接通过包管理器安装)为例说明:
git clone https://github.com/netsniff/netsniff.git
cd netsniff
make
sudo make install
sudo apt install tcpdump
sudo yum install tcpdump
三、配置Sniffer核心参数
配置文件是Sniffer的核心设置项,需根据需求调整以下参数:
/etc/netsniff/netsniff.confCAPTURE_ENABLED=1(启用)或CAPTURE_ENABLED=0(禁用);MODE=promisc(混杂模式,捕获所有经过接口的流量)或MODE=nonpromisc(非混杂模式,仅捕获目标为本机的流量);INTERFACE=eth0(根据实际网卡名称修改,如wlan0为无线网卡);FILTER="tcp and src host 192.168.1.100"(仅捕获源IP为192.168.1.100的TCP流量,可根据需求调整,如udp port 53捕获DNS请求)。eth0接口的所有HTTP流量,保存到capture.pcap文件,限制捕获1000个数据包:sudo tcpdump -i eth0 -w capture.pcap -c 1000 'tcp port 80'
四、启动与运行Sniffer
sudo /usr/local/bin/sniff
如需开机自启,需根据发行版创建systemd服务文件(如/etc/systemd/system/sniff.service),内容示例:[Unit]
Description=Linux Sniffer Service
After=network.target
[Service]
ExecStart=/usr/local/bin/sniff
Restart=always
User=root
[Install]
WantedBy=multi-user.target
然后执行以下命令启用并启动服务:sudo systemctl enable sniff
sudo systemctl start sniff
-D参数(指定接口)或重定向输出到日志文件。五、查看与分析捕获结果
less)查看:sudo /usr/local/bin/sniff | less
.pcap文件可使用以下方式查看:
sudo tcpdump -r capture.pcap(-r表示读取文件);capture.pcap文件(支持更详细的协议分析和过滤)。六、关键注意事项
sudo或以root用户身份运行Sniffer。-c 1000)或大小(如-s 96,设置快照长度为96字节,仅捕获包头);-w capture.pcap),而非直接输出到控制台,减少内存消耗。