我有一个C ++程序来嗅探每一个穿过我的Linux机器的数据包。 不过,我现在需要让我的Linux盒子听我的networking中的每一个stream量。 我可以买一个可pipe理的交换机,并设置端口跨越,但我不支付200+英镑的交换机,加上给我一个学习的机会。
我的networking
+---------Computer A | Internet-----Router------Switch-------------+---------Linux Box | +---------Computer B
build议的networking
+---------Computer A | Internet-----Router------Linux Box--------Switch eth0^ ^eth1 | +---------Computer B
我将如何设置这在Linux中。 我只是在同一个networking上configuration不同的IP地址上的以太网。 还是我完全错误的轨道上
我的系统
谢谢
我假设你现在的networking是在一个私有的子网上,并且你的路由器执行外部通信的NAT(也就是说你的机器看起来有相同的IP地址)。 你有两个select:
将其设置为路由器:
你究竟如何做一些以上perminantly(即所以它幸存重启)取决于你的Linux发行版和任何其他本地networking设置你需要尊重。 http://www.linuxjournal.com/article/8172显示了一个使用RedHat / Fedora / CentOS风格系统的桥接设置示例,Debian / Ubuntu或Slackware或其他应用程序可能需要进行一些小修改。
brctl addbr br0 ifconfig eth0 up brctl addif br0 eth0 ifconfig eth1 up brctl addif br0 eht1 ifconfig br0 <your.ip.address>
请注意,两个以太网接口都没有IP地址; 单个地址被分配给桥( br0 )。
我想这就是你要找的。 :d
不要忘记混杂模式。
ifconfig eth0 promisc ifconfig eth1 promisc
您可以购买hub来更换交换机。 它很便宜,难度只是find一个,现在大家都喜欢用开关。 在互联网上,你应该能够find一个小的成本。
hub通过devise将所有通信广播到每个端口。
在这种情况下,当前的networking拓扑就足够了(将eth0设置为promiscuous mode – 否则网卡将丢弃所有不是Linux目标的数据包,如果使用wireshark收听networking,软件可以设置网卡处于混杂模式)。
如果你真的想使用“计划的networking”,你也可以
我肯定会去的hub 。