抓包工具链61 条

ERSPAN 远程镜像

跨三层把镜像流量封装为 GRE 送到远端分析平台:适合集中采集;注意 MTU(封装后变大)、采样率与源配置。

ERSPAN 怎么工作

ERSPAN 是跨三层网络把镜像流量送到远端分析平台的方案:把原始帧用 GRE 封装后,按普通 IP 包路由过去。它适合把分散在各机房的采集点统一汇聚到一套分析平台,代价是封装后报文变大,还要考虑采样率与源设备的配置细节。

基本信息

适用平台支持 ERSPAN 的交换机与路由器,各厂商实现细节不同
封装方式GRE,IP 协议号 47,ERSPAN 类型字段常见 0x88BE
关键约束路径 MTU 余量、目的可达性、采样率设置
典型用途跨网段集中采集

典型使用场景

  • 多机房流量集中汇聚到一套分析平台
  • 无法在本地部署采集探针的机房
  • 安全分析平台需要镜像流量作为输入
  • 排查跨网段问题时统一取证口径
  • 与本地镜像配合,做分层采集设计

抓包识别与核对

抓包识别与核对
tshark -r erspan.pcap -Y "ip.proto==47" -T fields -e ip.src -e ip.dst -e frame.len | head -20
# 外层是 GRE 封装,源地址是设备的封装源,目的地址是分析平台
tshark -r erspan.pcap -Y "gre.proto.type==0x88be" -T fields -e frame.number
# 识别 ERSPAN 封装后再展开内层原始帧,分析目标在内层
tshark -r erspan.pcap -Y "ip.proto==47" -q -z conv,ip | head
# 看封装流的会话分布,确认采集流量是否正常到达

字段逐项读法

字段含义判读要点
ip.proto == 47GRE 封装外层识别的第一要素
gre.proto.type封装内的协议类型ERSPAN 常见为 0x88BE,随实现与版本可能不同
frame.len含外层开销的总帧长评估 MTU 时必须把它算进去
内层原始帧被镜像的原始报文真正的分析对象
封装流量走正常路由,分析端看到的是带外层头的包,解封装后才看得到原始帧。分析前先确认工具是否识别该封装类型,识别不了会整包显示为 GRE,看不到业务信息。
内层大帧封装后可能超过路径 MTU 被丢弃,这也是「采集端少包」的常见原因。按最小路径 MTU 预留余量,必要时调整采集侧配置,别把丢包归因到业务侧。

部署检查项

  • 确认封装目的地址可达且中间设备允许该协议通过
  • 按最小路径 MTU 预留封装余量,避免大帧被丢
  • 确认采样率设置,用量类结论必须基于全量采集
  • 记录采集源的设备与接口信息,便于回溯
  • 验证分析平台是否支持该封装类型的解析

易错点

  • 内层大帧封装后超 MTU 被丢:采集端看起来少包,实际是封装开销导致
  • 采样镜像当全量分析:用量与占比类结论直接失真
  • 分析平台不识别封装类型:整包只显示 GRE,看不到业务流量
  • 忽略封装流量本身占用的带宽:集中采集会挤占生产链路资源

数据来源与参考

  • RFC 1701(GRE)
  • 厂商 ERSPAN 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌