Ubuntu Sniffer(以tcpdump为例)网络监控操作指南
在Ubuntu系统中,最常用的命令行Sniffer工具是tcpdump,需通过包管理器安装(图形化工具Wireshark也可选,但本文聚焦命令行操作)。
打开终端,依次执行以下命令更新软件包列表并安装tcpdump:
sudo apt update
sudo apt install tcpdump
使用-i
参数指定要监控的网络接口(如以太网eth0
、无线网卡wlan0
或所有接口any
)。首先可通过ip addr
或ifconfig
命令查看可用接口名称:
sudo tcpdump -i eth0 # 监控eth0接口的所有流量
sudo tcpdump -i any # 监控所有网络接口的流量(默认行为)
直接运行上述命令后,终端会实时显示捕获的数据包信息(包括时间戳、源/目标MAC地址、IP地址、端口、协议类型等)。按Ctrl+C
停止捕获。
为避免捕获过多冗余数据,可通过BPF(Berkeley Packet Filter)语法设置过滤条件,常见场景如下:
sudo tcpdump -i eth0 tcp port 80
sudo tcpdump -i eth0 udp port 53
192.168.1.100
)相关的所有流量:sudo tcpdump -i eth0 host 192.168.1.100
sudo tcpdump -i eth0 src 192.168.1.100
sudo tcpdump -i eth0 dst 192.168.1.100
通过and
/or
/not
连接多个条件,进一步缩小范围(如捕获192.168.1.100
与10.0.0.1
之间的HTTP流量):
sudo tcpdump -i eth0 host 192.168.1.100 and host 10.0.0.1 and tcp port 80
使用-w
参数将捕获的数据包保存为.pcap
文件(二进制格式,便于后续分析):
sudo tcpdump -i eth0 -w capture.pcap # 保存到当前目录
使用-r
参数读取已保存的.pcap
文件(可在终端查看或导入Wireshark分析):
sudo tcpdump -r capture.pcap # 在终端查看文件内容
添加-n
参数可跳过域名解析(避免DNS查询带来的延迟):
sudo tcpdump -i eth0 -n
添加-X
参数可显示数据包的十六进制和ASCII内容(适用于查看HTTP请求/响应头等明文信息):
sudo tcpdump -i eth0 -X port 80
使用-s
参数设置每个数据包的捕获长度(如只捕获前96字节,减少文件大小):
sudo tcpdump -i eth0 -s 96
虽然tcpdump提供文本格式的流量信息,但复杂场景下建议使用Wireshark(图形化协议分析器)进行深度分析:
sudo apt install wireshark
.pcap
文件即可查看可视化流量详情(如数据包层级结构、协议分布、流量趋势等)。sudo
或切换至root用户。-C
参数,按大小分割)避免磁盘爆满。