我有一个C程序来嗅探每个穿过我的
linux盒子的数据包.但是我现在需要让我的linux盒子来收听我网络中的每一个流量.我可以购买一个管理型交换机并设置端口跨越,但我不需要支付200英镑的交换机,而且还有机会学习.
我的网络
+---------Computer A | Internet-----Router------Switch-------------+---------Linux Box | +---------Computer B
拟议的网络
+---------Computer A | Internet-----Router------Linux Box--------Switch eth0^ ^eth1 | +---------Computer B
我将如何在linux中设置它.我是否只在同一网络上的不同IP地址上配置以太网.或者我完全走错了路
我的系统
> Fedora 13.
谢谢
解决方法
我假设您当前的网络位于私有子网上,并且您的路由器执行NAT以进行外部通信(即,对于外部世界,您的所有计算机都具有相同的IP地址).你有两个选择:
>将机器设置为桥梁
>将机器设置为NAT路由器
要将其设置为路由器:
>将eth0设置为当前路由器的客户端
>在不同的子网上使用eth1
>让服务器配置为通过DHCP将此子网上的地址分发给其他计算机
>添加适当的iptables规则,以便该框为eth1端的传出连接执行NAT
>如果您目前在路由器上有任何手动端口转发设置,则需要将其设置为指向新框并设置新框以将这些连接进一步转发到网络中
确切地说,你如何永久地执行上述某些操作(即,它在重新启动后仍然存在)取决于您的Linux发行版和您需要尊重的任何其他本地网络设置. http://www.linuxjournal.com/article/8172显示了使用RedHat / Fedora / CentOS样式系统进行桥接设置的示例,Debian / Ubuntu或Slackware或其他人可能需要进行一些小的更改.