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”菜单入手。