原帖由 gaolizhou 于 2007-2-26 10:53 发表
谢谢版主的回答,
但是,我还有一点问题:
现在我们用的大多是交换机,网卡处于混杂模式没什么用啊,
ARP欺骗还要手动构造数据报,那不是太麻烦了?而且速度也跟不上啊
其实这里面涉及到两个问题:
1.以太网的工作原理
2.交换机的工作原理
3.网卡的工作模式
我们知道,以太网有共享式和交换式之分,而当前大多的以太网络,都是基于交换机的交换式以太网。
同时我知道,以太网中的数据包有三种:单播、组播、广播。
单播组播包是一对一的传输,组播数据包是一对多(属于某某范畴的一个组)的传输,广播数据包是一对所有的传输。
我们举例来看,一个交换式以太网,A,B,C三台主机都连一个SWITCH上。
这时,A向B发起一个请求,这个请求数据包会传向SWITCH连接B的端口,B也会收到这个请求,而C不会收到,因为SWITCH可以通过查询自身的ARP表从而知道这个数据应该发向B而不是C。
接下来,我们想办法让这个请求数据包发向C主机,这里可用的方法有在SWITCH上配置镜像,或者使用ARP欺骗。当这个请求发向C后,C的网卡会检查这个数据包是否是发向自己的,并根据网卡本身的工作模式来判定是接收还是丢弃这个请求。默认情况下,网卡会丢弃目标MAC不是自己的数据包,而当网卡工作在混杂模式时,就会将这些数据包全部接收,从而完成数据包捕获。
-----------------------------------
下面说下ARP欺骗的实现,楼主请慎用之,产生的任何后果与本人及CSNA论坛无关。
理论上可以通过手动构造数据包来完成ARP欺骗,但在实际操作中困难较大,因为人的反应比起来电脑来,始终要慢很多。
推荐使用专用的ARP欺骗软件实现,这里推荐使用SwitchSniffer,该软件功能强大,简单易用。 |