如何在CentOS上分析Sniffer数据
小樊
39
2025-11-22 00:35:13
在CentOS上分析Sniffer数据的实用流程
一 环境与工具准备
- 以最小安装为例,先安装常用抓包与分析组件:
- 安装抓包与命令行分析:sudo yum install -y tcpdump tshark wireshark
- 如需图形界面(仅在本地桌面环境):sudo yum install -y wireshark-gnome
- 确认网卡名称(如:eth0、ens33、enp0s3),后续命令中的接口需替换为实际名称。
二 数据采集与保存
- 使用 tcpdump 采集并落盘(便于后续反复分析):
- 抓取指定接口到文件:sudo tcpdump -i eth0 -w capture.pcap
- 带显示过滤采集(减少无关流量):sudo tcpdump -i eth0 -w capture.pcap ‘tcp port 80 or port 443’
- 只抓取前 N 个包:sudo tcpdump -i eth0 -c 1000 -w capture.pcap
- 使用 tshark 采集(便于直接配合统计/导出):
- 抓取并写入文件:sudo tshark -i eth0 -w capture.pcap
- 采集建议:
- 优先在问题发生的近端或关键路径上抓包(如网关、服务端、客户端)。
- 对高带宽链路,限制捕获规模(如按时间/包数/文件大小)以避免磁盘打满。
三 命令行快速分析
- 读取并查看概要:
- tcpdump -r capture.pcap -nn -q(以数字形式显示地址与端口,精简输出)
- 定位问题线索:
- 重传与丢包:tcpdump -r capture.pcap ‘tcp.analysis.retransmission or tcp.analysis.lost_segment’ -nn
- 仅看 HTTP 流量:tshark -r capture.pcap -Y http -T fields -e frame.time -e ip.src -e ip.dst -e http.host -e http.request.uri
- 仅看 DNS 查询/响应:tshark -r capture.pcap -Y dns -T fields -e frame.time -e ip.src -e dns.qry.name -e dns.a
- 导出结构化报表(CSV):
- 通用字段导出:tshark -r capture.pcap -T fields -e frame.number -e ip.src -e ip.dst -e tcp.port -E separator=, -E quote=d -E header=y > report.csv
- 实时查看(配合 grep/awk 做进一步筛选):
- sudo tshark -i eth0 -l port 3306 | egrep ‘SELECT|INSERT|UPDATE’
四 图形化深度分析
- 本地桌面环境可直接启动 Wireshark:sudo wireshark,选择接口开始捕获。
- 打开已保存的 capture.pcap,使用显示过滤器快速聚焦:
- 按 IP:ip.addr == 192.168.1.10
- 按端口:tcp.port == 443 or udp.port == 53
- HTTP 细化:http.host contains “example.com”
- 常用分析入口:
- 统计菜单(如:Protocol Hierarchy、Conversations、IO Graphs)用于定位占比异常、会话异常与流量趋势。
五 故障排查与报告输出
- 常见排障路径:
- 连通性与握手:过滤 tcp.flags.syn==1 and tcp.flags.ack==0 观察 SYN,配合 SYN-ACK/ACK 是否完整,判断三次握手是否建立。
- 时延与重传:查看 tcp.analysis.retransmission、tcp.analysis.duplicate_ack,定位链路拥塞或服务器处理瓶颈。
- 应用层问题:对 HTTP/TLS/DNS 分别过滤,核对状态码、域名解析结果与证书交互。
- 报告输出与自动化:
- 将关键报文导出文本/十六进制用于归档:tshark -r capture.pcap -x -V | more
- 批量生成 CSV 报表,再用 Excel/Pandas 做图表与对比分析(如按源/目的 IP、端口、协议分布统计)。
- 合规与安全提示:
- 抓包与分析仅可在获得授权的网络与主机上进行,避免侵犯隐私与违反法规;生产环境谨慎开启混杂模式与抓包,注意磁盘空间与性能影响。