一、ARP协议(地址解析协议)

所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  • 将一个已知的IP地址解析为MAC地址,从而进行二层数据交互
  • ARP协议是一个三层协议,但是工作在二层,是一个2.5层协议

二、ARP映射

1.静态映射:手动创建ARP表,把逻辑(IP)地址和物理地址关联起来.

当知道目标网络的IP地址但不知道其物理地址时就可以通过查ARP表找出对应的物理地址,静态映射有一定的局限性,因为物理地址时可以发生变化的,以下是物理地址发生变化的几种情况:

01.机器更换NIC(网络适配器)

02.在局域网中,重启计算机时,物理地址会改变

03.笔记本电脑从一个局域网转移到另一个局域网时,IP地址会改变

2.动态映射:机器知道另一台机器的IP地址,就能通过协议找出向对应的物理地址.

01.ARP协议实现了逻辑地址到物理地址的动态映射

02.RARP协议实现了物理地址到逻辑地址的动态映射

3.ARP通信包含ARP请求和ARP响应两个阶段:

  • ARP请求:源主机向目标网络发出ARP请求,请求得到目标网络的MAC地址

任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。

  • ARP响应:目标主机收到源主机的请求后做出应答,将带有自己IP和MAC地址的报文返回给主机

局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。

三、ARP缓存与ARP报文格式

1.ARP缓存

ARP缓存的主要目的是为了避免重复去发送ARP请求,在Windows中可以通过命令对ARP进行管理.

#显示ARP缓存
C:\Users\Admin>arp -a
#清除ARP缓存
C:\Users\Admin>arp -d
#ARP绑定
C:\Users\Admin>arp -s IP地址 MAC地址
示例:> arp -s 157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。

2.ARP报文格式

  • 硬件类型:16位字段,用来定义运行ARP的网络类型。每个局域网基于其类型被指派一个整数。例如:以太网的类型为1。ARP可用在任何物理网络上。
  • 协议类型:16位字段,用来定义使用的协议。例如:对IPv4协议这个字段是0800。ARP可用于任何高层协议
  • 硬件长度:8位字段,用来定义物理地址的长度,以字节为单位。例如:对于以太网的值为6。
  • 协议长度:8位字段,用来定义逻辑地址的长度,以字节为单位。例如:对于IPv4协议的值为4。
  • 操作码:16位字段,用来定义报文的类型。已定义的分组类型有两种:ARP请求(1),ARP响应(2)。
  • 源硬件地址:这是一个可变长度字段,用来定义发送方的物理地址。例如:对于以太网这个字段的长度是6字节。
  • 源逻辑地址:这是一个可变长度字段,用来定义发送方的逻辑(IP)地址。例如:对于IP协议这个字段的长度是4字节。
  • 目的硬件地址:这是一个可变长度字段,用来定义目标的物理地址,例如,对以太网来说这个字段位6字节。对于ARP请求报文,这个字段为全0,因为发送方并不知道目标的硬件地址。
  • 目的逻辑地址:这是一个可变长度字段,用来定义目标的逻辑(IP)地址,对于IPv4协议这个字段的长度为4个字节。

四、ARP攻击

当主机A 、主机B、主机C位于同一局域网中,主机A想要访问公网就必须先将数据发送到自己的网关,再由网关和公网进行通信.

  • 伪造ARP应答报文,向被攻击主机响应虚假的MAC地址
  • 当被攻击主机进行网络通信 时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAc地址不存在,所以造成被攻击主机无法访问网络.

五、ARP欺骗

1.欺骗网关

主机A想要访问互联网网就必须先将数据交给自己的出口路由器,

  • 主机A发送ARP请求,攻击主机C 向主机A发送ARP应答,携带的是自己的MAC地址,主机A收到响应报文认为IP地址1.254对应的 MAC地址是33-33,
  • 与此同时,攻击机C向路由器发送arp响应,携带主机A的IP地址和自己真实的MAC地址,路由器收到主机C的应答后认为IP地址1.1对应的MAC地址是33-33,
  • 主机A在访问互联网时误以为主机C时自己的网关,就会将数据发送到主机C ,在主机C上开启IP转发功能,主机C收到数据向路由器转发,从而实现数据监听的效果.

2.欺骗主机

主机A要和主机B通信,主机A以广播方式发送ARP请求报文,携带自己的IP地址,MAC地址以及主机B的IP地址,主机C收到ARP请求后向主机A发送ARP应答,携带主机B的IP地址和 自己的MAC地址,再向主机B发送ARP应答,携带主机A的IP地址和自己的地址MAC,这样主机A向主机B发送数据时就会被主机C监听.

  • 伪造ARP应答报文,向被攻击主机响应真实的MAC地址
  • 当被攻击主机向通信主机发送数据时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据,这是被攻击主机是可以进行网络通信的.

ARP协议与ARP欺骗相关推荐

  1. ARP协议及ARP欺骗详解

    ARP协议及ARP欺骗详解 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP ...

  2. ARP协议,ARP攻击和ARP欺骗

    目录 ARP协议概念 风险:arp欺骗和arp攻击 arp攻击 ​编辑 arp欺骗 实验 ARP协议概念 ARP请求​​​​​​,因为不知道目的mac地址,所以广播,用全0来填充​ ARP响应是单播形 ...

  3. ARP协议以及攻击欺骗和防御

    在网络层中,协议也是分层的,底层协议为上层协议服务,下图表示了网络层各个协议的关系: 这篇文章将详细介绍ARP协议 一.ARP协议 中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应主机的 ...

  4. 局域网arp攻击_一篇文章告诉你,什么是ARP协议与ARP欺骗

    1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议.因IPv4和以太网的广泛应用,其主要 ...

  5. 【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★

    文章目录 一.ARP 协议 二.ARP 协议 使用过程 三.ARP 协议 四种情况 四.ARP 协议规律 五.ARP 协议 计算示例 一.ARP 协议 物理地址需求 : 在 数据链路层 传输数据帧时 ...

  6. arp协议、arp应答出现的原因、arp应答过程、豁免ARP详细解答附图(建议电脑观看)

    目录 一.arp协议: 二.功能: 三.原理: arp应答出现的原因: 相同子网arp应答过程: 跨网段arp请求过程: 注: 豁免ARP: 一.arp协议: 地址解析协议,即ARP(Address ...

  7. ARP协议,ARP诈骗图

  8. 计算机网络 | 数据链路层 :ARP协议、以太网协议、MTU

    数据链路层 数据链路层与网络层的关联 以太网协议 什么是以太网 以太网帧格式 MAC地址 MAC地址与IP地址 MTU MTU对TCP的影响 MTU对UDP的影响 ARP协议 什么是ARP协议 ARP ...

  9. ARP-地址解析协议(在实践中深入理解ARP协议)

    在同一个网络(无特别说明,均指以太网络)中进行通信的主机,必须要拥有目标主机的MAC地址才能够正确地将数据发送给目标主机,那么如何知道目标主机的MAC地址呢?可以通过ARP协议.ARP协议就是用来获取 ...

最新文章

  1. 【每日一算法】删列造序
  2. mysql 主从同步不一致_涨知识!MySQL 主从同步原理原来是这样的
  3. python监控单台多实例数据库服务器的数据库端口
  4. go语言json字符串解析为结构体数组,结构体指针的数组
  5. 2018第九届山东省ACM省赛
  6. apache服务器性能不行,Apache服务器性能调优
  7. java基础知识总结(4)
  8. 利用工具,促进有效沟通
  9. 链表-快慢指针(C++)
  10. TPC_mcgs打印方案
  11. ansible安装sipp测压工具
  12. 项目实战系列——使用python实现AHP层次分析法
  13. 网络私有云存储的几点优势
  14. 免费可商用的音乐资源
  15. “满五唯一”和“满二唯一”是什么?有什么不同?
  16. 《Effective Java》读书笔记五(枚举和注解)
  17. 常用电子元器件介绍 齿轮规格的参数
  18. c++ 移动桌面图标
  19. External Storage
  20. 张代远 计算机组成原理,计算机组成原理教程

热门文章

  1. 如何搭建 GTA 5 私服--GTA5私服架设教程
  2. platform总线
  3. Laravel 学习笔记 —— 神奇的服务容器
  4. 2014-Unity3d基础入门到高级全套全系列视频教程
  5. ESP32的蓝牙架构你真的了解吗?来,蓝牙博主给你安排~
  6. python keyboard backspace_selenium键盘按键Keys类及键盘码详解
  7. Python 串口数据打包与解析
  8. TIA博途软件安装在虚拟机中,如何连接PLC进行通信?
  9. 手机信令数据怎么获得_更换手机怎么转移数据?手机备忘录便签数据如何转移?...
  10. matlab二维数组的创建及其变换