目录
0x01 局域网同网段通信
0x02 ARP欺骗及其防御
0x01 局域网同网段通信
这里用的软件是Cisco的Cisco Packet Tracer
搭建了如下的一个局域网,这里只是大概说明一下局域网通信,详细的内容(包括ICMP数据包、ARP数据包、所用命令)单独再写一篇博客
如上:
两台交换机
PC0(ip:192.168.2.10)(MAC:0060.7065.07AA)
PC1(ip:192.168.2.20)(MAC:0030.A3DE.54D4)
搭建的这么一个局域网
我在PC0输入的命令是
ping 192.168.2.20
然后就有了后面的一系列的流程图
PC0
1.判断在不在同网段
PC0首先根据192.168.2.20的IP地址判断其与自己在不在同一网段
PC0
2.查ARP表
PC0查一下自己的ARP表,看看192.168.2.20在不在自己的ARP表内
两台没有通信的主机,肯定没有相关联的ARP表
那没有怎么办呢?
PC0
3.发ARP广播包
我们看一下PC0发的ARP包,后续再细讲,我们只看其中几个参数
当广播包发到交换机时
交换机0
1.学习
当经过此交换机的ARP包内含有的源MAC地址,交换机的Mac表内没有时,交换机会进行学习
发送前:
交换机0 Mac 表是空的,当ARP包发送到交换机0后:
交换机将Mac地址记录到Fa0/1口
交换机0
2.转发
当交换机收到ARP包,并发现目的Mac在Mac表内没有时,会转发到其他所有端口
交换机1收到ARP包也会学习和转发
交换机1对所有端口进行转发,但只要PC1会对其应答因为只有PC1的IP地址符合数据包内的目的IP
PC1收到ARP包后会将其记录在自己的APR表内
PC1
4.单播应答
这时候PC1发的ARP包的目的MAC就很明确了,就不在是广播了,而是单播
交换机0与交换机1在收到PC1的ARP包的时候同时也会进行学习转发,但转发时候就不再是全端口转发了。而是指定端口,因为目的MAC是明确的
PC0
5.更新ARP表
PC0
6.单播发送数据包
这时候就有明确的 目的IP 、目的Mac了,并且携带数据
0x02 ARP欺骗及其防御
0x01.ARP协议的缺陷
1.请求应答不需要配对:可以向任何主机发送虚假的ARP应答
2.不校验目的端IP、MAC:收到ARP应答包就会动态更新本地ARP缓存表
3.ARP应答包也可以广播:同一广播域的主机ARP缓存表都会被更改
0x02.ARP欺骗原理
原理就是利用交换机转发只考虑Mac地址,我们可以修改
我们的包的源IP
来欺骗交换机和其他PC
所以我们可以伪装成
1.某一台PC或所有PC
2.网关
0x03.ARP欺骗的影响
1.信息拦截
2.网络监听
3.信息篡改
0x04.ARP欺骗如何防御?
1.ARP表中静态写入ARP映射条目
2.交换机端口上将主机与MAC地址绑定
VLAN划分更小局域网,减小风险范围