流量镜像是一种复制原始数据包副本供审计使用的机制,不改变原路径、不干扰业务。它通过bridge泛洪、iptables+tee或open vswitch实现,配合tcpdump、wireshark、netcap等工具完成捕获、分析与结构化输出,并需注意授权、隔离部署及敏感信息处理。

什么是流量镜像,为什么审计需要它
流量镜像不是转发或拦截,而是把一份原始数据包“复制”出来送给审计设备。普通网卡只能收发属于本机的包,而审计要看到其他主机间的通信(比如服务器A和B之间的数据库交互),就必须让网卡收到这些“非本机”流量。镜像就是解决这个问题的核心机制——它不改变原路径,只多送一份副本,确保审计过程对业务零干扰。
三种主流实现方式及适用场景
Linux本身不内置端口镜像功能,但可通过以下方式模拟:
-
Bridge泛洪模式:将网桥 ageing time 设为 0(
ip link set br0 ageing 0),强制所有入包向所有成员口广播。适合小规模测试环境,无需额外工具,但会增加广播负载,不适用于生产网络。 -
Iptables + TEE target:用
iptables -t mangle -A PREROUTING -i eth0 -j TEE --gateway 192.168.1.100把 eth0 上所有进向流量复制到指定IP(如审计主机)。要求目标IP可达且网卡支持混杂模式,适合单向流量审计。 -
Open vSwitch(OVS)镜像:在虚拟化或容器环境中最可靠。创建 mirror port 后,用
ovs-vsctl -- set Port mirror-port mirror=mirror0绑定镜像规则。支持双向、按流/端口/协议精细筛选,是云环境东西向审计的首选。
抓包与审计工具链搭配建议
镜像只是第一步,后续需工具完成解析与判断:
- 轻量级实时捕获:用
tcpdump -i eth1 -w audit.pcap host 10.10.5.20 and port 3306按需过滤 MySQL 流量,避免磁盘撑爆; - 协议深度分析:Wireshark 打开 pcap 文件,用
http.request.method == "POST" && http.content_length > 10000查找大体积上传行为; - 自动化审计输出:Netcap 可直接将 pcap 转成结构化 JSON/CSV,字段含源/目的 IP、协议、时间戳、载荷长度等,便于导入 SIEM 或做异常统计。
关键注意事项与合规提醒
镜像审计涉及法律与系统稳定性双重风险:
- 必须获得书面授权,尤其在处理含 PII 或支付信息的流量时;
- 镜像目标主机需独立部署,避免审计进程拖慢业务节点;
- 高吞吐场景下,建议启用 ring buffer 捕获(如
tcpdump -B 2097152)并限制文件轮转,防止 I/O 阻塞; - 敏感字段(如密码、token)若明文传输,应在审计策略中明确标记,推动应用层加密整改。











