温馨提示×

Linux Sniffer如何分析数据包

小樊
37
2025-12-25 03:19:15
栏目: 智能运维

Linux Sniffer数据包分析实操指南

一、分析流程与常用工具

  • 明确目标:定位性能问题(如慢访问、丢包)、排查连接异常(如TCP重传、RST)、识别可疑行为(如暴力登录、注入特征)。
  • 选择工具:命令行首选tcpdump(轻量、可脚本化),图形化用Wireshark/Tshark(协议解码强、统计视图丰富)。
  • 抓包与过滤:在目标接口抓包并用BPF过滤表达式收敛范围,避免全量抓取导致磁盘与性能压力。
  • 保存与复盘:将流量写入**.pcap**文件,便于离线深度分析与归档。
  • 交叉验证:配合iftop/NetHogs观察带宽与进程维度占用,与抓包结论相互印证。

二、tcpdump从抓包到分析的常用命令

  • 安装与基础抓包
    • Debian/Ubuntu:sudo apt-get update && sudo apt-get install tcpdump
    • RHEL/CentOS:sudo yum install tcpdump(或使用 dnf)
    • 抓包:sudo tcpdump -i eth0
  • 写入文件与读取复盘
    • 保存:sudo tcpdump -i eth0 -w capture.pcap
    • 读取:tcpdump -r capture.pcap -nn -l
  • 常用显示与过滤
    • 只看HTTP:sudo tcpdump -i eth0 port 80
    • 只看源/目的IP:sudo tcpdump -i eth0 host 192.168.1.10
    • 只看TCP SYN:sudo tcpdump -i eth0tcp[tcpflags] & tcp-syn != 0
    • 只看某主机且只看80端口:sudo tcpdump -i eth0host 192.168.1.10 and port 80
    • 提高可读性:加 -nn(不解析主机名/端口名)、-v/-vv(更详细)、必要时加 -X(十六进制+ASCII 负载)
  • 实用提示
    • 使用 -c N 限制抓取包数,避免失控
    • 使用 -w 先落盘,再用 Wireshark 做深度分析,效率更高

三、Wireshark图形化分析要点

  • 打开**.pcap**后,用显示过滤器快速聚焦:
    • HTTP:http
    • DNS:dns
    • TCP重传:tcp.analysis.retransmission
    • TCP握手异常:tcp.flags.syn == 1 and tcp.flags.ack == 0(SYN 无 ACK)、tcp.flags.reset == 1(RST)
  • 典型分析路径
    • 性能问题:Statistics → IO Graphs 观察吞吐与抖动;Analyze → Expert Info 查看重传、乱序、重复ACK等异常;Follow → TCP Stream 重建会话,定位慢在哪一跳/哪条SQL/哪个接口。
    • 安全问题:搜索关键字(如“selectunionscriptlogin”等)或异常 UA/Referer;检查明文凭证与异常子域访问。
  • 命令行配合:Wireshark 的 tshark 可用于批量统计与自动化分析,例如:
    • tshark -r capture.pcap -q -z io,stat,1,“tcp.analysis.retransmission

四、常见攻击与异常的特征识别

  • DDoS/异常突发:流量在短时间出现突发峰值或单一来源/目的占比异常,IO Graphs 呈“尖峰”。
  • 扫描与暴力尝试:短时间内大量SYN且无后续握手、或反复连接失败;可结合端口与服务指纹识别。
  • SQL注入:HTTP 请求参数或 URI 中出现select、union、–、’ or 1=1等特征字符串。
  • XSS:HTTP 响应中包含可疑**** 等脚本片段。
  • 可疑登录:频繁失败的 HTTP POST /login、SSH 暴力登录(多源/高频失败)。

五、合规与性能注意事项

  • 合法合规:仅在获得明确授权的网络与主机上抓包,避免侵犯隐私与触犯法律。
  • 权限与模式:抓包通常需要root或具备相应能力;网卡置于混杂模式会接收更多帧,注意对系统与网络的影响。
  • 性能与存储:全量抓取会产生大量数据,建议用BPF过滤收敛范围、限制包数、必要时落盘分析,避免影响业务与磁盘空间。

0