linux – 将数据包从接口复制到另一个接口

我有一个Linux系统(让它是A)有2个以太网卡,即eth0和eth1,它们连接到两个完全不相关的LAN.

基本上eth0用于正常的应用程序流量,eth1仅用于调试目的.调试意味着eth1使用交叉电缆链接到另一个运行Wireshark的linux盒子(让它是B).我希望Wireshark能够处理在A的eth0上传输的应用程序包.

基本上我需要将从eth0接口传输的数据包复制到接口eth1,以便B框上的Wireshark可以嗅探它们(由于某些原因,我没有物理访问LAN eth0).
我还可能需要根据某些规则指定从eth0复制到eth1的数据包(顺便说一下,仅基于TCP / IP字段).

另请注意,A的eth0不需要置于混杂模式,因为我只想复制一个以A为目的地的数据包子集

有没有办法单独使用iptables实现这一目标?或者我是否需要编写一个应用程序才能使其工作?我该怎么做才能“复制”数据包?

如果您的内核足够新,您可以使用iptables –tee将帧从eth0转发到捕获计算机.

编辑:更新了链接,因为原始版本现在位于密码提示后面.

翻译自:https://serverfault.com/questions/225178/copying-packets-from-an-interface-to-another

转载注明原文:linux – 将数据包从接口复制到另一个接口