五种ARP学习

来源:互联网 发布:欧洲难民感恩 知乎 编辑:程序博客网 时间:2024/06/08 10:54

ARP协议分析

很多互联网的攻击都是通过APR发起的
总共有五种ARP:ARP、翻转ARP、代理ARP、免费ARP、逆向ARP

原理

概述

  • ARP(Address Resolution Protocol,地址解析协议),用于实现从IP地址的MAC地址的映射
  • 在网络通信中,主机和主机通信的数据报需要根据OSI模型从上到下进行数据封装,当数据封装完成后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的分装。一般情况下,上层应用程序更多的是关心IP地址而不关系MAC地址,所以需要通过APR协议来获知目的主机的MAC地址,完成数据的封装

图解

request广播请求
这里写图片描述
Reply单播回复之后,会生成一个arp表
这里写图片描述

分装

分装

字段的功能

Hardware type硬件类型,标识链路层协议
Protocol type协议类型,标识网络层协议
Hardware size硬件地址大小,标识MAC地址长度
Protocol size协议地址大小,标识IP地址长度
Opcode操作代码,标识ARP数据包类型
Sender MAC address发送者MAC
Sender IP address发送者IP
Target MAC address目标MAC,此处全0表示在请求
Target IP address目标IP

实验验证

通过GNS3和wireshark互相配合学习和理解五种ARP

这里写图片描述

arp

将接口关闭,就是为了将arp表清空,之后会看到一些新的东西
这里写图片描述

强制执行命令使用do

这里写图片描述

这里写图片描述

然后再重新附上地址
这里写图片描述

此时仍然是空的

这里写图片描述

然而此时arp表有信息了

这里写图片描述

这里写图片描述

只是他们还没有对方的信息

这个是在GNS3看到的,我们还可以查看本机的arp信息(这个是动态查看的)
cmd下通过arp –a
这里写图片描述

回到正题
有没有!!!!发现第一次!!!ping的时候是个点号
这里写图片描述
这个是由于请求回复延迟导致的,并不是丢包
这里写图片描述

就是这个whohas,wireshark很神奇的人性化对话,这里就验证了广播请求,单播回应
此时的路由器上面的mac表的信息已经更新
这里写图片描述

这里写图片描述

排列方式是按照字典排序的!?居然不是先后
我们看一下广播请求包
这里写图片描述

广播包的特点全f,巧妙地使用置空位,全0留空让回复包填上
回复包

这里写图片描述

代理ARP(proxy ARP)

概述

当局域网内部主机发起跨网段的ARP请求时,出口路由器/网关设备将自身MAC地址回复给该请求时,这个过程称为代理ARP
发生情况:没有路由功能的主机、有路由功能,目的地指向本地出口

图解

这里写图片描述
第②步看起来是多管闲事,但是这么多的话就可以实现跨网段通信
【同网段的请求就是ARP,跨网段的则是代理ARP】

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

连通性测试
这里写图片描述

这里写图片描述

现在触发代理ARP
出现场景:没有路由功能的主机
由于此时的PC1是有路由表的
这里写图片描述
所以需要把路由表功能关掉,这样就完全彻底的变成一台主机(一台linux系统的主机,想多了。。。)
这里写图片描述
默认情况下,接口是开启代理ARP功能的
这里写图片描述
此时能联通PC2吗?
这里写图片描述
虽然ping不通,但实际上数据包已经发送给PC2,只是PC2没有返回而已,代理ARP已经成功
这里写图片描述
分析:
经过两次的询问,已经确定了访问的路径,之后就变成了ICMP的请求包
这里写图片描述
路由器已经有回复了,注意到那个cc:01:1b:fc:00:00,是不是路由器情不自禁的把他f0/0的mac地址发送出了呢,填补上请求包上的置(kong)空(xu)位
这里写图片描述
是的~~事实就是这样
这里写图片描述
建立了PC1到R2再到PC2的映射,只要信息包能够出去,这样就能上网了
这个时候,还记得之前所说的PC2的路由表上没有PC1的mac,所以在PC2上写一条默认路由或者静态路由即可
这里写图片描述

免费ARP(Gratuious ARP)

用于实现局域网内部的IP地址冲突的检测,发生情况IP地址冲突、DHCP执行过程
这里写图片描述

实验验证:设置IP地址冲突

这里写图片描述

这里写图片描述
很快的,路由器自己也会报错
palapala吵架中
这里写图片描述

两个路由器在竞争这个IP地址,事实上在是在初始化配置IP地址后,路由器会吼一声:还有谁的IP地址是xx.xx.xx.xx(我们配置的地址信息),如果刚好有别的路由器地址冲突了,就会引发竞争,两台路由器一直在争吵~

翻转APR (ReverseARP)

讨论的少,也很少遇到(RARP)
无盘工作站通过RARP协议来获取IP地址(有了IP地址之后通过TFTP引导加载系统)
自己没有ip地址,但是有mac,通过RARP,想服务器请求获得了IP地址(这个服务器分配给他的),从而获得远程操作系统
这里写图片描述

逆向ARP(InverseARP)

比较少见,一般存在于帧中继网络中,用于实现IP和DLCI地址的映射,可是帧中继网络现在已经很少了啊!!!!
这里写图片描述
这个是一种周期性(60s),向周围发出一个请求、回复的解决方案,不同于其他四种

实验:搭建一个帧中继网络

这里写图片描述
这里写图片描述
分配一个4T的接口,然后为帧中继交换机写一个交换表
这里写图片描述
分装帧中继并给IP地址
这里写图片描述
这里写图片描述
这个时候的抓包选项应该改为FR
这个信息出来后才能ping通的
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这种信息跟传统的mac映射还是有些区别的
这种请求跟免费ARP类似

0 0