五种ARP学习

ARP协议分析

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

原理

概述

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

图解

request广播请求
五种ARP学习_第1张图片
Reply单播回复之后,会生成一个arp表
五种ARP学习_第2张图片

分装

五种ARP学习_第3张图片

字段的功能

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学习_第4张图片

arp

将接口关闭,就是为了将arp表清空,之后会看到一些新的东西
五种ARP学习_第5张图片

强制执行命令使用do

这里写图片描述

五种ARP学习_第6张图片

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

此时仍然是空的

五种ARP学习_第7张图片

然而此时arp表有信息了

这里写图片描述

这里写图片描述

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

这个是在GNS3看到的,我们还可以查看本机的arp信息(这个是动态查看的)
cmd下通过arp –a
五种ARP学习_第8张图片

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

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

这里写图片描述

排列方式是按照字典排序的!?居然不是先后
我们看一下广播请求包
五种ARP学习_第10张图片

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

五种ARP学习_第11张图片

代理ARP(proxy ARP)

概述

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

图解

五种ARP学习_第12张图片
第②步看起来是多管闲事,但是这么多的话就可以实现跨网段通信
【同网段的请求就是ARP,跨网段的则是代理ARP】

五种ARP学习_第13张图片

这里写图片描述

这里写图片描述

这里写图片描述

连通性测试
五种ARP学习_第14张图片

这里写图片描述

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

免费ARP(Gratuious ARP)

用于实现局域网内部的IP地址冲突的检测,发生情况IP地址冲突、DHCP执行过程
五种ARP学习_第21张图片

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

五种ARP学习_第22张图片

五种ARP学习_第23张图片
很快的,路由器自己也会报错
palapala吵架中
五种ARP学习_第24张图片

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

翻转APR (ReverseARP)

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

逆向ARP(InverseARP)

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

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

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

五种ARP学习_第31张图片
五种ARP学习_第32张图片
这里写图片描述
五种ARP学习_第33张图片
这种信息跟传统的mac映射还是有些区别的
这种请求跟免费ARP类似

你可能感兴趣的:(TCP协议栈学习)