我有一个从.pcap文件中回放流量的工具和另一个解释该通信量的工具。为了测试目的,我需要播放一个接口的流量,并让它进入另一个接口。显然,我可以简单地在我的两个NIC之间附加一条交叉电缆,但是肯定有更好的方法可以在Linux中实现这一点吗?我尝试过使用回送接口(播放流量输出lo,从lo解释流量),但它没有工作。
有什么方法可以创建虚拟接口,然后连接两个虚拟接口吗?理想情况下,我可以播放“virt-eth1”之外的流量,并让我的另一个工具收听“virt-eth2”。当流量被发送到virt-eth1时,它应该是桥接的,并进入virt-eth2。从那里发生的事没有任何意义。
发布于 2012-03-10 20:44:56
我认为您在这里需要使用的是TUN/TAP接口。安装tunctl (用于CentOS的包),然后可以开始创建虚拟网络接口:
tunctl -t tap0
ifconfig tap0 up更多信息在这里:http://backreference.org/2010/03/26/tuntap-interface-tutorial/
Tun/tap接口是Linux (可能还有其他类似UNIX的操作系统)提供的一种特性,它可以进行用户空间网络,也就是说,允许用户空间程序查看原始网络流量(在以太网或IP级别),并对其做任何他们喜欢的事情。本文档试图解释tun/tap接口在Linux下是如何工作的,并使用一些示例代码演示它们的用法。
我记得,在使用回送接口时,PCAP库不能正常工作,因为它实际上不是“真实的”接口(或者肯定不是系统所认为的真正的接口)。如果在它上运行ifconfig,它甚至没有MAC地址。但是,TUN/TAP接口是这样做的,为了达到您想要做的目的,它可能只是您正在寻找的解决方案(不需要创建额外的虚拟机等等)。
我还怀疑你只需要一个点击接口就能完成你的任务(不需要连接2)。只需将第一个进程绑定到虚拟接口并写入通信量,然后将次要进程绑定到虚拟接口上,读取通信量。
https://serverfault.com/questions/365409
复制相似问题