arp(地址解析协议)

科技名词定义
中文名称:
地址解析协议
英文名称:
address resolution protocol;ARP
定义:
将域名翻译成对应的32位IP地址的协议。
应用学科:
通信科技(一级学科); 通信协议(二级学科)
以上内容由全国科学技术名词审定委员会审定公布
百科名片
地址解析协议图示   
地址解析协议图示

ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议。某节点的IP地址的ARP请求被广播到网络上后,这个节点会收到确认 其物理地址的应答,这样的数据包才能被传送出去。RARP(逆向ARP)经常在无盘工作站上使用,以获得它的逻辑IP地址。

编辑本段定义

地址解析协议(Address Resolution Protocol,ARP)是在仅知道 主机IP地址时确
地址解析协议

  地址解析协议

定其 物理地址的一种协议。因IPv4和 以太网的广泛应用,其主要用作将IP地址翻译为 以太网MAC地址,但其也能在ATM(  异步传输模式)和FDDIIP(Fiber Distributed Data Interface  光纤分布式数据接口)网络中使用。从IP地址到 物理地址的映射有两种方式: 表格方式和非表格方式。ARP具体说来就是将 网络层(IP层,也就是相当于 OSI的第三层)地址解析为数据连接层( MAC层,也就是相当于OSI的第二层)的 MAC地址

编辑本段FAQ

1. 什么是ARP?
ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP- 以太网中,当一个上层协议要发包时,有了 节点的IP地址,ARP就能提供该节点的MAC地址。
2. 为什么要有ARP?
OSI 模式把 网络工作分为七层,彼此不直接打交道,只通过接口(layer interface).  IP地址在第三层,  MAC地址在第二层。协议在发送数据包时,得先封装第三层(IP地址),第二层(MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其MAC地址,又不能跨第二、三层,所以得用ARP的服务。
3. 什么是ARP cache?
ARP cache 是个用来储存(IP, MAC)地址的缓冲区。当ARP被询问一个已知IP地址 节点的MAC地址时,先在ARP cache 查看,若存在,就直接返回MAC地址,若不存在,才发送ARP request向局域网查询。
4. ARP 有什么命令行?
常用的包括:(格式因操作系统、 路由器而异,但作用类似)- 显示ARP cache: show arp; arp -a - 清除ARP cache: arp -d;clear arp。

编辑本段举例

计算机A的IP为192.168.1.1,MAC地址为00-11-22-33-44-01;
计算机B的IP为192.168.1.2,MAC地址为00-11-22-33-44-02;

编辑本段原理

TCP/IP协议中,A给B发送IP包,在报头中需要填写B的IP为目标地址,但这个IP包在 以太网上传输的时候,还需要进行一次以太包的 封装,在这个以太包中,目标地址就是B的MAC地址.
计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于 ARP协议
在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2), 以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。
A得到ARP应答后,将B的MAC地址放入本机 缓存,便于下次使用。
本机MAC 缓存是有生存期的,生存期结束后,将再次重复上面的过程。
ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP 缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP 缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的 ARP欺骗

编辑本段Arp显示和修改

“地址解析协议 (ARP)” 缓存中的项目。ARP  缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的 以太网令牌环 物理地址。计算机上安装的每一个 以太网令牌环 网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。
windows中arp命令详解
语法
arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
参数
-a[ InetAddr] [ -N IfaceAddr]
显示所有接口的当前 ARP  缓存表。要显示特定 IP 地址的 ARP  缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表 IP 地址。如果未指定 InetAddr,则使用第一个适用的接口。要显示特定接口的 ARP  缓存表,请将 -N IfaceAddr 参数与 -a 参数一起使用,此处的 IfaceAddr 代表指派给该接口的 IP 地址。-N 参数区分大小写。
-g[ InetAddr] [ -N IfaceAddr]
与 -a 相同。
-d InetAddr [IfaceAddr]
删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。要删除所有项,请使用星号 (*)  通配符代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr]
向 ARP  缓存添加可将 IP 地址 InetAddr 解析成 物理地址 EtherAddr 的 静态项。要向指定接口的表添加 静态 ARP  缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。
/?
命令提示符下显示帮助。
注释
? InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。
? EtherAddr 的 物理地址由六个字节组成,这些字节用十六进制记数法表示并且用 连字符隔开(比如,00-AA-00-4F-2A-9C)。
? 通过 -s 参数添加的项属于静态项,它们不会 ARP  缓存超时。如果终止 TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP  缓存项,请将适当的 arp 命令置于 批处理文件中,并使用“ 任务计划”在启动时运行该批处理文件。
示例
要显示所有接口的 ARP  缓存表,可键入:
arp -a
对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP  缓存表,可键入:
arp -a -N 10.0.0.99
要添加将 IP 地址 10.0.0.80 解析成 物理地址 00-AA-00-4F-2A-9C 的静态 ARP  缓存项,可键入:
arp -s 10.0.0.80 00-AA-00-4F-2A-9C [1]

编辑本段应用

网络执法官中,要想限制某台机器上网,只要点击“ 网卡”菜单中的“权限”,选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择“权限”,在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻击的电脑一个假的 网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这样就可以禁止其上网。

编辑本段防御

ARP欺骗可以导致目标计算机与网关通信失败;
更可怕的是会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。
基于PC到PC的IP-MAC双向绑定可以解决ARP欺骗
但是对于不支持IP-MAC双向绑定的设备
就需要用可以绑定端口-MAC的交换来预防ARP欺骗
另外,Windows 2KSP4 XPSP1 的Arp-S绑定是无效的
Windows XP SP2即使使用Arp -s命令 静态绑定在攻击者故意制造IP地址冲突的时候,也会失效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值