一、共享网络与交换网络的区别
1、共享网络
在共享网络中,由于HUB属于一层设备,对于到达本身的数据报文,HUB会对报文进行广播(除了收到报文的那个接口),因此接在同HUB的所有PC都能收到该报文。前提PC开启了混杂模式
注:
通常情况下,网卡都是工作在非混杂模式,也就是说即使收到数据报文,网卡会判断目的MAC是否和自己的一样,不一样的话代表数据包不是给自己的,因此会丢弃,只接收那些目的MAC和自己一样的数据报文。在嗅探时必须开启混杂模式,在该模式下,网卡不对数据报文进行判断,一锅端!
2、交换网络
交换网络中交换机会根据MAC-端口对应表进行传输,也就是说除了网关,其他同交换机下的PC机无法收到数据报文(没出现攻击的情况下)。
二、ARP欺骗
1、ARP
ARP(地址解析协议)是在仅知道主机的IP地址时确定其物理地址的一种协议,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDI IP网络中使用。
2、ARP通讯过程
由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输、计算机是根据mac来识别一台机器。每台主机都会存在一个ARP高速缓存表,里面记录了局域网内所有主机的Mac地址,当它需要与另一个主机通信时会先查询本地ARP表,通过对方Mac地址来封装数据包,如果本地ARP表中没有对应的Mac地址,它会向局域网发出广播“我的ip是…我的Mac地址是…请问ip为…的Mac地址”,当对应主机收到广播核对ip然后通过单点传输的方式告诉它自己的Mac地址,然后双方ARP表中就多了彼此的Mac地址。
3、ARP欺骗
1、单项欺骗
A、B、C三个人,A与C正常通信,B想知道A给C发的内容,就伪造ARP响应包,更改A的ARP表,所以A发送给C的信息会先传送到B,B可以丢弃数据包,这样C就收不到A发的数据了,但是C还是可以正常给A发送数据的,这就是单项欺骗
2.双向欺骗
同样是A、B、C三个人,B同时给A、C发送响应包B告诉A它的ip是C的ip,Mac地址还是B的,告诉C它的ip是自己的,Mac地址是A的,这样A、C的通信就都会经过B,这就叫双向欺骗
3.区别
单向欺骗:是指欺骗网关
双向欺骗:是欺骗网关跟被攻击的两个机器
4.检测被欺骗的主机
- 可以利用ARPkiller的”Sniffer杀手”扫描整个局域网IP段,然后查找处在”混杂”模式下的计算机,就可以发现对方了.(绿帽子图标是正常模式,红帽子是混杂模式用户)
- 使用tracert命令在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert 外网ip。
原理:
中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。
通俗讲tracert命令是看ping这个外网时进过了哪些ip,如果主机被ARP欺骗,使用这个命令就会暴露攻击者ip,因为我们访问外网时攻击者电脑成了中间人所以下一跳就是它的ip
5.防御
双绑定, 本地跟路由都做了绑定(注:mac地址绑定)
采用ARP防火墙