Ubuntu Sniffer如何配置网络监听
小樊
42
2025-12-29 15:39:44
Ubuntu 网络监听配置指南
一 工具选择与安装
- 常用嗅探工具:tcpdump(命令行、轻量、适合服务器)、Wireshark(图形化、适合桌面分析)、iftop/nload/vnstat(实时带宽与历史统计的补充工具)。
- 安装命令(Ubuntu/Debian):
- sudo apt update && sudo apt install tcpdump wireshark
- sudo apt install iftop nload vnstat
- 权限说明:抓包需要访问网卡,通常以 sudo/root 运行;Wireshark 安装时可勾选“Allow non-superusers to capture packets”以允许普通用户抓包(需按提示将用户加入 wireshark 组)。
二 识别网络接口与基本抓包
- 查看可用接口:
- ip a
- 或 sudo tcpdump -D(列出接口编号与名称)
- 选择接口(如 eth0)进行监听,常用命令:
- 实时查看:sudo tcpdump -i eth0 -nn
- 保存到文件:sudo tcpdump -i eth0 -w capture.pcap
- 读取文件:tcpdump -r capture.pcap -nn
- 常用参数说明:
- -i:指定接口(如 eth0;用 any 监听所有接口)
- -n/-nn:不解析主机名/端口名(提升速度)
- -c:限制抓包数量(如 -c 100)
- -s:快照长度(默认 65535 可抓完整包;为节省空间可设 -s 96 仅头部)
- -v/-vv/-vvv:输出更详细的信息
- -w/-r:写入/读取 .pcap 文件(Wireshark 兼容)。
三 使用 BPF 过滤器精准捕获
- 按 IP:
- 全部与该主机相关:host 192.168.1.100
- 仅源地址:src 192.168.1.100
- 仅目的地址:dst 192.168.1.200
- 按端口/协议:
- HTTP:port 80;HTTPS:port 443
- DNS:udp port 53;FTP 控制:tcp port 21
- ICMP(ping):icmp
- 组合条件(使用 and/or/not):
- 某主机的 HTTP:host 192.168.1.100 and port 80
- 某主机发往 80 端口:src 192.168.1.100 and dst port 80
- 示例命令:
- sudo tcpdump -i eth0 ‘host 192.168.1.100 and port 80’ -nn
- sudo tcpdump -i eth0 ‘udp port 53’ -nn。
四 图形化分析与带宽监控
- Wireshark:
- 启动:sudo wireshark(或在应用菜单打开)
- 选择接口开始捕获;显示过滤器示例:
- http、tcp.port == 80、ip.addr == 192.168.1.100
- 适合深入分析协议细节、查看三次握手、重传、HTTP 请求响应等。
- 实时带宽与连接监控(补充):
- iftop(按连接与端口显示带宽):sudo iftop -i eth0 -P -N
- nload(终端图形化流量趋势):nload
- vnstat(历史统计):sudo systemctl start vnstat && sudo systemctl enable vnstat。
五 合法合规与性能优化
- 合法合规:抓包涉及通信内容,务必获得网络所有者/管理员授权,避免侵犯隐私或违反法律法规(如《网络安全法》)。
- 性能与稳定性:
- 高流量环境建议用过滤器缩小范围(如仅抓取目标 IP/端口/协议),并限制数量(-c)。
- 合理设置快照长度(-s),必要时仅抓头部以节省资源。
- 抓包文件含敏感信息,妥善保存与传输,分析后及时清理。
- 权限最小化:Wireshark 可按提示将用户加入 wireshark 组,避免长期以 root 运行 GUI。