一、前期准备:安装必要依赖
在Debian系统上使用Sniffer工具(如netsniff、tcpdump)前,需先安装编译及运行所需的依赖库,避免后续操作报错。常用命令如下:
sudo apt-get update
sudo apt-get install build-essential libncurses5-dev zlib1g-dev gawk flex quilt git-lfs libssl-dev xz-utils -y
这一步骤为后续下载、编译及安装Sniffer工具提供了基础环境支持。
二、常见Sniffer工具选择与安装(以netsniff为例)
Debian系统上没有名为“Debian Sniffer”的特定工具,但可通过以下方式安装常用Sniffer:
git clone https://github.com/netsniff/netsniff.git && cd netsniffmake && sudo make installsudo apt update
sudo apt install tcpdump
tcpdump无需编译,安装后即可使用,适合新手快速上手。三、配置Sniffer:调整参数适配需求
配置文件是控制Sniffer行为的关键,netsniff的默认配置文件位于/etc/netsniff/netsniff.conf,可通过修改以下参数优化捕获效果:
MODE=promisc(混杂模式,捕获所有经过接口的数据包)或MODE=nonpromisc(非混杂模式,仅捕获目标为本地的数据包);INTERFACE=eth0(根据实际情况替换为你的网卡名称,如wlan0、ens33);FILTER="tcp and src host 192.168.1.100"(仅捕获源IP为192.168.1.100的TCP流量,可根据需求调整,如port 80捕获HTTP流量)。四、启动与基本使用:捕获与查看流量
sudo /usr/local/bin/sniff(启动后会实时输出捕获的数据包信息);sudo tcpdump -i eth0(指定接口为eth0,实时显示经过该接口的流量)。sudo tcpdump -i eth0 -w capture.pcap # 持续捕获并保存到capture.pcap
sudo tcpdump -i eth0 -c 100 -w capture.pcap # 捕获100个数据包后停止
sudo tcpdump -r capture.pcap # 命令行查看(可添加-filter参数过滤)
wireshark capture.pcap # 图形化分析(需安装wireshark:sudo apt install wireshark)
tcpdump的常用过滤选项:-nn(不解析主机名和端口名,提升速度)、-s 0(捕获完整数据包,而非默认的96字节)。五、进阶技巧:提升捕获效率与分析深度
port 80 or port 8080;icmp;dst host 192.168.1.1;tcp and src port 22。-q(安静模式)和-n选项,快速查看流量统计信息:sudo tcpdump -i eth0 -qn -c 10 # 捕获10个数据包,显示简要统计
#!/bin/bash
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
sudo tcpdump -i eth0 -w "capture_$TIMESTAMP.pcap" -G 3600 -W 24 # 每3600秒(1小时)切换一次文件,保留24个文件