ARP协议

目录

ARP协议

1、ARP协议概述

2、ARP协议作用:

3、ARP协议原理:

1)发送ARP广播请求

2)接受ARP单播应答

4、ARP的工作过程

5、ARP代理

6、ARP攻击或欺骗的原理是:

1)、ARP协议没有验证机制,所以容易被arp偷渡攻击

2)、ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒

7、ARP攻击防御:

1、静态ARP绑定

2、ARP防火墙

3、硬件级ARP防御:


1、ARP协议概述

“Address Resolution Protocol”(地址解析协议)

当网络设备要发送数据给另一台设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP协议来实现的。
ARP协议是TCP/IP协议簇中的重要组成部分,ARP能够通过目的IP地址发现目标设备的MAC地址,从而实现数据链路层的可达性

2、ARP协议作用:

将IP解析为MAC地址

3、ARP协议原理:

1)发送ARP广播请求

ARP报文内容:我是10.1.1.1 我的MAC:AA-AA-AA-AA

谁是10.1.1.3  你的MAC:?

2)接受ARP单播应答

4、ARP的工作过程

ARP之简单请求应答
当两台计算机在同一个局域网通信,我们以ping命令为例,该命令使用的ICMP协议

PC1依据OSI模型①依次从上至下对数据进行封装,包括对ICMP Date加IP包头的封装,但是到了封装MAC地址的时候,②PC1首先查询自己的ARP缓存表,发现没有IP2和他的MAC地址的映射,这个时候MAC数据帧封装失败。我们使用ping命令的时候,是指定PC2的IP2的,计算机是知道目的主机的IP地址,能够完成网络层的数据封装,因为设备通信还需要对方的MAC地址,但是PC1的缓存表里没有,所以在MAC封装的时候填入不了目的MAC地址。

那么PC1为了获取PC2的MAC地址,③PC1要发送询问信息,询问PC2的MAC地址,询问信息包括PC1的IP和MAC地址、PC2的IP地址,这里我们想到一个问题,即使是询问信息,也是需要进行MAC数据帧的封装,那这个询问信息的目的MAC地址填什么呢,规定当目的MAC地址为ff-ff-ff-ff-ff-ff时,就代表这是一个询问信息,也即使后面我要说的广播。

PC2收到这个询问信息后,将这里面的IP1和MAC1(PC1的IP和MAC)添加到本地的ARP缓存表中,然后④PC2发送应答信息,对数据进行IP和MAC的封装,发送给PC2,因为缓存表里已经有PC1的IP和MAC的映射了呢。这个应答信息包含PC2的IP2和MAC2。PC1收到这个应答信息,理所应当的就获取了PC2的MAC地址,并添加到自己的缓存表中。

经过这样交互式的一问一答,PC1和PC2都获得了对方的MAC地址,值得注意的是,目的主机先完成ARP缓存,然后才是源主机完成ARP缓存。之后PC1和PC2就可以真正交流了。

ARP之广播请求单播回应

5、ARP代理

上图中,主机A需要与主机B通信时,目的IP地址与主机的IP地址位于不同网络,但由于主机A未设置网关,所以他将会以广播的形式发送ARP Request报文,请求B的MAC地址,但是广播报文无法被路由器转发,所以主机B无法收到主机A的请求报文。
在路由器上启用代理ARP功能,就可以解决这个问题。启用代理后,路由器接收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器会将自己的G0/0/0接口的MAC地址回应该ARP Requestrian。主机A收到ARP Reply后,将一路有油漆的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。
小结:1如果两台主机在同一个网段,则直接发送ARP Request报文就好。
2 如果在不同网段,

(1)主机A设置了网关,ARP协议可以正常使用。
(2)主机A没有设置网关,这种情况下,我们要开启ARP代理,路由器来重新封装,转发报文

6、ARP攻击或欺骗的原理是:

通过发送伪造虚假的ARP报文(广播或单播),来生实现的攻击或欺骗!

如虚假报文的mac是伪造的不存在的,实现ARP攻击,结果为中断通信/断网!

如虚假报文的mac是攻击者本身的mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量、但不中断通信!

1)、ARP协议没有验证机制,所以容易被arp偷渡攻击

2)、ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒

7、ARP攻击防御:

1、静态ARP绑定

手工绑定/双向绑定

windows客户机上:

arp -s 10.1.1.254 00-01-2c-a0-e1-09

arp-a 查看ARP缓存表

路由器上静态绑定:

Router(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/0

优点:配置简单

缺点:工作量大、维护量大

2、ARP防火墙

自动绑定静态ARP

主动防御

优点:简单易用

缺点:当开启人数较多时,会增大网络负担

3、硬件级ARP防御:

交换机支持“端口”做动态ARP绑定(配合DHCP服务器)

或做静态ARP绑定

配置命令:

conf t
ip dhcp snooping
int range f0/1-48
switch(config-range-if)#

ARP协议/ARP攻击与防御相关推荐

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

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

  2. 网络协议-ARP协议与攻击模拟

    ARP协议 1.各层协议 网路层:IP.ARP.ICMP.IGMP.RARP 隧道协议(IPSec协议簇.GRE).路由协议(RIP.OSPF.IS-IS) 传输层:TCP.UDP 应用层:SMB.t ...

  3. ARP断网攻击和防御

    在介绍ARP断网攻击之前,我们先来了解一些基本术语. 基本术语 ARP 英文全称为Address Resolution Protocol,即地址解析协议,是根据IP地址获取MAC地址的一个TCP/IP ...

  4. ARP欺骗泛洪攻击的防御——DAI动态ARP监控技术

    目录 一.DAI动态ARP监控技术(具备DHCP SNOOPING环境下): 二.非DHCP SNOOPING环境下: 三.扩展:自动打开err-disable接口方法: arp欺骗详细过程前往一下连 ...

  5. 局域网arp攻击_网络安全基础之ARP攻击和防御

    本文转载于 SegmentFault 社区 作者:吴小风 前言 在看这篇文章之前,请大家先看下交换机的工作原理,不知大家有没有想过数据链路层中头部协议数据帧的目的MAC地址是如何获取的呢?这就是今天的 ...

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

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

  7. gratuitous arp和普通arp报文格式区别_ARP攻击和防御

    前言 在看这篇文章之前,请大家先看下交换机的工作原理,不知大家有没有想过数据链路层中头部协议数据帧的目的MAC地址是如何获取的呢?这就是今天的主角ARP协议,通过广播来获取IP地址对应的MAC地址. ...

  8. 基于RouterOS的ARP攻击与防御

    文章目录 什么是ARP协议 ARP欺骗的危害 实际测试 防御过程 基于routeros防御 总结 什么是ARP协议 ARP协议是"Address Resolution Protocol&qu ...

  9. java arp 攻击_网络安全基础之ARP攻击和防御

    前言 在看这篇文章之前,请大家先看下交换机的工作原理,不知大家有没有想过数据链路层中头部协议数据帧的目的MAC地址是如何获取的呢?这就是今天的主角ARP协议,通过广播来获取IP地址对应的MAC地址. ...

最新文章

  1. java mawen介绍_Maven的介绍及使用
  2. WIX(20121031) 应用设置默认变量
  3. linux意想不到题4
  4. 狗窝里的小日子 ...
  5. 全奖博士招生,伦敦大学学院盖茨比计算神经科学研究组
  6. 攻城掠地sdk服务器没有响应,攻城掠地没落的原因及对策
  7. HTML5新属性 Canves的整体学习
  8. Python基础——continute与break(循环控制)
  9. linux发邮件权限,Linux通过命令行发邮件的步骤
  10. roboto字体android,Android字体设置及Roboto字体使用方法
  11. python混合线性模型_如何在Python statsmodels中有多组线性混合效应模型?
  12. 网站标签页如何添加左边的小图标
  13. 状态方程和特性方程的区别
  14. 从认知负荷理论看语音交互设计
  15. Excel如何批量导入图片
  16. 详细解说iexplore.exe
  17. BIOS的两种引导模式
  18. 姜小白的Python日记Day15 系统模块详解2 sys模块和os模块
  19. wsl2 ping不通windows主机问题速查
  20. 开源存储这么香,为何我们还要坚持自研?

热门文章

  1. ldd命令 ubuntu_技术|简单介绍 ldd 命令
  2. 《剑指Offer》Java实现版-电子科大-2021最新
  3. R语言RCurl爬虫(多线程爬虫)-高评分豆瓣图书
  4. [用python辅助学生中考与高考-4]:家长篇-中考科技特长生知多少如何通过Python来辅助学习数学?
  5. Redis学习(自用)
  6. Visio图片转Eps格式(图片最大化显示)
  7. freeze用法初探
  8. C语言版Tokenize()函数,由分隔符获取字符串
  9. php 执行bin文件,bin文件是干什么的
  10. 什么蓝牙耳机性价比高?总结5款高性价比平价蓝牙耳机