DY中包含2种类型的虚拟设备,用来模拟以太网设备,一个是Virtual bridge(DY中对用参数为-b),另一个是Virtual Ethernet switch(DY中对应参数为-E)。 第一个虚拟设备相当于Hub(对应Dynagen的关键字为LAN),第二个虚拟设备相当于交换机(对应Dynagen的关键字为ethsw)。
现在有个实验环境,图中的交换机使用Virtual bridge和Virtual Ethernet switch的一种,希望实现在PC上可以Sniffer到2个Router之间的Unicast(单播)。我是用Dynagen+DY写的NET文件,为了实现上述要求,我想了3种方法
1,采用Virtual bridge,由于它相当于Hub,所以即使Unicast也会向所有Hub上的端口泛洪。但是遇到的问题是,在NET文件中没有办法将Virtual bridge与本地的PC网卡桥接起来
2,采用Virtual Ethernet switch,这种方式可以桥接到PC上,但是由于这个虚拟设备相当于2层交换机,所以2个路由器之间的Unicast不会复制到连接PC的逻辑端口上,因此无法抓包。并且Dynagen上也没有配置Virtual Ethernet switch的命令,所以使用SPAN/Port Monitor将流量复制到某个特定端口的想法也是不可能的。
3,不使用任何DY的虚拟设备,直接添加另外一台Router并加载NM-16ESW模块,用来模拟交换机。由于NM-16ESW可以配置SPAN/Port Monitor,所以,可以将流量复制到桥接PC的那个端口,使得PC上Sniffer其他路由器之间的Unicast成为可能。缺点是浪费资源,因为我们必须额外使用一个路由器来模拟这台交换机。
请大家帮忙看一下,方案1是否有办法将Virtual bridge桥接到PC? 我看过Dynagen的文档,似乎没有相关的参数。 顺便刚才又学习了一下DY(我对DY的配置不是很了解,一般都是用Dynagen写NET文件),文档中没有提到Virtual bridge的配置文件可以桥接到PC,仅提到Virtual Ethernet switch的配置文件可以配置桥接到PC。
是否方案3是目前最好的方法了?
谢谢大家
[
本帖最后由 大大小小 于 2008-10-13 13:21 编辑 ]