计算机网络协议分析 第四课 ARP


注:老师说明,本课基于计算机网络基本原理,在计算机网络中详细介绍过后的,这里将简单带过或不再提及

第3章 地址解析协议ARP

问:为何需要ARP?
答:作为链路层协议,它肩负着把目标IP地址转化为物理地址,为数据投递提供支撑的任务。

3.1 ARP工作原理

本网络中ARP的应用

本网ARP的使用

  1. 主机A要向主机B发送数据。首先A广播发送ARP请求分组,请求分组中包含主机A的IP、MAC地址,B的IP地址,此时目的MAC为ff:ff:ff:ff:ff:ff。
  2. 主机X,Y收到请求分组后,因为不是目标主机,所以不会响应,但会把主机A的IP、MAC存入自己的ARP表中。主机B收到后,也会添加到ARP表中,同时将会向A发送ARP响应分组,其中包含主机A、B的IP、MAC。

跨网使用ARP

跨网使用ARP

  1. A发出ARP请求分组,其中包含A的IP、MAC,B、R1都收到了分组
  2. R1发送ARP应答分组,A获得了R1 的MAC,同时R1的ARP缓存上记录了A的IP、MAC
  3. A收到ARP应答分组,在自己的ARP缓存中记录了R1的F0/0接口的IP和MAC。发送IP包和帧头给R1,其中目的IP地址为C的IP,但目的MAC地址是F0/0的MAC。
  4. R1向C的网络中发送ARP请求分组
  5. C收到了ARP请求分组,在自己的ARP缓存中记录了接口F0/1的IP和MAC。并发出了ARP应答分组
  6. R1收到了ARP应答分组,将C的IP和MAC记录在自己的ARP缓存中。然后将数据报转发给C。此时数据报的源IP地址是A的,但源MAC地址是F0/1

3.2 ARP分组

ARP分组

ARP分组

  • ARP分组封装在以太网帧中
  • 需要注意目的MAC在前,源MAC在后
  • 类型中0x0806代表随后的数据字段是ARP报文,相对的0x0800h代表数据字段是IP数据报
  • ARP请求分组(广播)的目的MAC为FF:FF:FF:FF:FF:FF,源MAC为:请求方MAC地址
  • ARP应答分组(单播)的目的MAC为:请求方MAC地址,源MAC为:应答方MAC地址

ARP分组格式

ARP分组格式

  • 物理网络类型:以太网,所以为1
  • 协议类型:网络层的协议类型,IP协议为:0x0800
  • 物理地址长度:6,协议地址长度:4,单位都是字节
  • 操作码:1为ARP请求;2为ARP应答

ARP请求分组实例
要求:1. 能够通过各个部分看出目的地址,源地址,操作码,请求还是应答等数据
2. 能够通过图中数据反编出ARP应答分组的全部内容(答案放最后)

3.3 ARP欺骗

计算机网络基本原理中已经介绍较为详细,这里不做过多补充

:如何使得A发送给B的数据,全部发送到C?
答:1. C发送一个伪造ARP请求(源IP是B的IP,但是源MAC是C的MAC)
2. A收到后更新自己的ARP缓存表

思考:如果B是A的网关,结果会如何?
答:A将不能正常上网,如果查出,可以通过清空ARP缓存表,再设置静态网关MAC。

3.4 免费ARP

  • 免费ARP:向所在网络请求自己IP所对应的MAC地址
  • 正常情况下,发送免费ARP请求不会收到ARP应答
  • 免费ARP的作用:
    1. 判断其他设备的IP地址是否与本机IP地址冲突
      一般设备在网卡地址加载阶段都会想网络中发送免费的ARP报文,当我们想知道某些设备的接口地址但又没有相应的记录可查时,我们就可以利用免费ARP报文,分析出其接口使用的IP地址
    2. 更换网卡时更新MAC地址
    3. 可利用免费ARP进行ARP攻击
      在实际环境中,如果构造网关地址的免费ARP报文,并将ARP的源MAC地址设为任何非网关的MAC地址,再把构造的这个虚假网关免费ARP报文向网络中发送,那么所有接收到这个免费ARP报文的主机都会更新自己的ARP表中的网关地址对应的MAC地址,导致这些主机的数据报文全部会被转发到错误的MAC地址上,从而实现了ARP欺骗的攻击
    4. 网关设备利用免费ARP防止ARP攻击
      有些网关设备为了防止内部中毒机器对内部其他机器实施网关的ARP欺骗攻击,其会在一定的时间间隔内向网络汇总主动发送免费ARP报文,让网络中的主机更新ARP表中网关的MAC地址信息,从而达到防止或缓解ARP攻击的效果。

3.5 代理ARP

代理ARP

  • 代理ARP:ARP请求从一个主机发往同一IP网段却不在同一物理网络上的另一台主机
  • 问题一:主机A发送ARP请求,请求谁的MAC地址?
    答:主机B的MAC地址,因为主机A和主机B的IP地址为同一网段,但是收到的却是路由器的MAC,因为路由器不能转发广播包,于是用自己的MAC和B的IP来应答
  • 问题二:主机B能否收到主机A的ARP请求报文?
    答:不能,因为二者处于不同广播域。

3.6 反向地址解析协议RARP

无盘计算机获取IP

  • 计算机获取IP地址的两种方式:
    • 固定分配(硬盘)
    • 动态获取DHCP(内存)
  • 无硬盘计算机启动时,用RARP向RARP服务器请求它的IP地址
  • 无硬盘计算机必须和RARP服务器位于同一个局域网中
  • 类似于DHCP,但DHCP拥有DHCP中继,所以DHCP的客户端和服务端不需要在同一个网络中

RARP工作原理

  1. 无盘计算机广播发出RARP请求,其中源MAC是A的MAC,目的MAC为FF:FF:FF:FF:FF:FF,源IP地址和目的IP地址都是0
  2. RARP收到A的请求报文,于是给A发应答报文,其中源MAC,IP是服务器的MAC,IP,目的IP,MAC是A的MAC,IP。于是A就可以得到自己的IP地址。

RARP分组

RARP分组

  • 注意这里的类型为0x0835
  • RARP请求分组(广播):目的MAC:FF:FF:FF:FF:FF:FF;源MAC:请求方MAC地址
  • RARP应答分组(单播):目的MAC:请求方的MAC地址;源MAC:RARP服务器的MAC地址

RARP分组格式

RARP分组格式
类比上面ARP分组格式,不同点在于操作码

  • 操作码:3为RARP请求;4为RARP应答
  • :RARP请求分组的源IP和目的IP是什么?
  • 答:都是0

ARP应答分组对应答案:
ARP应答分组
习题:注意题目有错,希望能自己找出错误在哪例题

上一课:第三课 PAP,CHAP
下一课:第五课 IP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值