Ubuntu Sniffer监控网络活动的常用方法
在Ubuntu系统中,监控网络活动可通过命令行工具(适合服务器环境)或图形化工具(适合桌面用户)实现,以下是具体步骤及工具介绍:
监控前需安装对应工具,Ubuntu通过apt包管理器即可完成安装:
sudo apt update && sudo apt install tcpdump
sudo apt install wireshark
# 安装时需勾选“Allow non-superusers to capture packets”以允许普通用户捕获流量
sudo apt install iftop
sudo apt install nload
sudo apt install vnstat
sudo systemctl start vnstat && sudo systemctl enable vnstat # 启动服务
使用tcpdump捕获所有网络接口的数据包(需sudo权限):
sudo tcpdump -i any
-i eth0:指定监控eth0接口(替换为你的接口名,可通过ip a查看);-n:禁用域名解析(提升速度);-a:以ASCII格式显示数据包内容(便于查看明文信息)。若只需监控某个接口(如eth0),直接指定接口名:
sudo tcpdump -i eth0
或使用iftop(更直观,显示实时带宽、连接IP及端口):
sudo iftop -i eth0
-P:显示端口号(便于识别服务);-N:禁用主机名解析(减少延迟)。将捕获的数据包保存为.pcap文件(Wireshark兼容格式),便于离线分析:
sudo tcpdump -i eth0 -w capture.pcap
Ctrl+C。tcpdump或Wireshark打开:tcpdump -r capture.pcap # 命令行查看
wireshark capture.pcap # 图形化查看
通过**BPF(Berkeley Packet Filter)**语法过滤,减少无关流量,提升监控效率:
sudo tcpdump -i eth0 port 80
192.168.1.100):sudo tcpdump -i eth0 host 192.168.1.100
sudo tcpdump -i eth0 udp port 53 # DNS查询
sudo tcpdump -i eth0 tcp port 21 # FTP控制连接
192.168.1.100的HTTP流量):sudo tcpdump -i eth0 host 192.168.1.100 and port 80
打开Wireshark后,选择要监控的接口(如eth0),点击“Start”即可捕获流量。
http、tcp.port == 80);运行sudo iftop -i eth0,界面会显示:
运行nload,默认显示所有网络接口的:
sudo权限(如tcpdump、iftop),避免普通用户误操作;.pcap文件需专业知识解读(如TCP标志位、HTTP请求响应流程),新手可从Wireshark的“Statistics”菜单入手。