Ubuntu Sniffer怎样分析网络流量
导读:在 Ubuntu 上使用 Sniffer 分析网络流量的实用流程 一 工具选型与定位 tcpdump:命令行抓包与分析的“瑞士军刀”,适合快速过滤、定位问题,并将结果保存为 pcap 文件供后续深度分析。 Wireshark:图形化协议分...
在 Ubuntu 上使用 Sniffer 分析网络流量的实用流程
一 工具选型与定位
- tcpdump:命令行抓包与分析的“瑞士军刀”,适合快速过滤、定位问题,并将结果保存为 pcap 文件供后续深度分析。
- Wireshark:图形化协议分析器,适合对 pcap 文件做细粒度解码、时序与字段级分析。
- iftop / nload / bmon / vnstat:面向“带宽与流量统计”的实时监控工具,便于观察接口速率、历史用量与各连接占用。
- nethogs:按进程维度查看实时带宽占用,快速定位“哪个进程在发包”。
- ss / netstat / lsof:查看当前连接与对应进程,辅助从“连接”到“进程”的排查闭环。
以上工具覆盖了“抓包解码”“带宽监控”“进程维度”的主流分析场景,可按需组合使用。
二 快速上手 tcpdump 抓包与分析
- 安装与权限
- 安装:
sudo apt-get update & & sudo apt-get install tcpdump - 抓包需要提升权限(如 sudo)。
- 安装:
- 选择网卡与查看接口
- 列出接口:
sudo tcpdump -D(含特殊接口 any,可监听所有接口) - 监听示例:
sudo tcpdump -i eth0或sudo tcpdump -i any
- 列出接口:
- 基本过滤与显示优化
- 只看 HTTP(80) 流量:
sudo tcpdump -i eth0 port 80 - 只看 DNS(53/UDP) 流量:
sudo tcpdump -i eth0 udp and port 53 - 不做 DNS 反查、显示更简洁:
sudo tcpdump -i eth0 -n
- 只看 HTTP(80) 流量:
- 保存与回放
- 保存为文件:
sudo tcpdump -i eth0 -w capture.pcap - 读取分析:
sudo tcpdump -r capture.pcap - 用 Wireshark 打开 capture.pcap 做图形化细查(字段、时序、重传、握手等一目了然)。
- 保存为文件:
三 常见分析场景与命令示例
| 目标 | 命令示例 | 说明 |
|---|---|---|
| 列出接口 | sudo tcpdump -D |
找到要监听的网卡名或 any |
| 抓所有接口 | sudo tcpdump -i any |
快速观察整机流量 |
| 只看某端口 | sudo tcpdump -i eth0 port 80 |
过滤 HTTP |
| 只看 DNS | sudo tcpdump -i eth0 udp and port 53 |
过滤 DNS |
| 只看 TCP | sudo tcpdump -i eth0 tcp |
协议级过滤 |
| 保存与回放 | sudo tcpdump -i eth0 -w c.pcap / sudo tcpdump -r c.pcap |
抓完用 Wireshark 深入分析 |
| 读取详细 | sudo tcpdump -v -r c.pcap |
增加细节输出 |
| 实时速率观察 | sudo nload 或 sudo iftop |
观察接口/连接的实时带宽占用 |
| 以上命令覆盖“接口选择—协议/端口过滤—保存回放—速率观察”的完整链路,适合日常排障与取证。 |
四 性能与进程维度的辅助工具
- 按进程看带宽:sudo nethogs(实时显示每个进程的上传/下载速率,定位异常进程最快捷)。
- 实时带宽与历史统计:nload(按接口显示当前/平均/最大速率)、vnstat(按日/月统计历史流量,适合容量评估)。
- 连接与进程映射:ss -tunap 或 netstat -tunap,配合 lsof -i 可定位占用端口的进程。
- 综合流量监控:iptraf / iptraf-ng(交互式界面,按协议/连接统计)。
这些工具与 tcpdump 互补:前者聚焦“速率与用量”“连接与进程”,后者负责“包级取证与协议解码”。
五 合规与安全提示
- 抓包会接触到明文通信内容(如 HTTP、FTP、未加密邮件等),请仅在获得明确授权的网络与主机上执行。
- 生产环境抓包可能影响性能,尽量在维护时段、限定接口与过滤表达式,避免长时间全量抓取。
- 使用 Wireshark 等工具分析时,注意 pcap 文件的保存与访问控制,防止敏感信息外泄。
- 若系统启用 SELinux/AppArmor 等安全模块,需确保 tcpdump 具备相应权限。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Sniffer怎样分析网络流量
本文地址: https://pptw.com/jishu/761075.html
