‘壹’ 什么是ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
(1)arp缓存表构成扩展阅读:
RARP和ARP不同,地址解析协议是根据IP地址获取物理地址的协议,而反向地址转换协议(RARP)是局域网的物理机器从网关服务器的ARP表或者缓存上根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。与ARP相比,RARP的工作流程也相反。首先是查询主机向网路送出一个RARP Request广播封包,向别的主机查询自己的IP地址。这时候网络上的RARP服务器就会将发送端的IP地址用RARP Reply封包回应给查询者,这样查询主机就获得自己的IP地址了。
‘贰’ ARP高速缓存表由哪几项组成
高速缓存表用项目数组来实现,每个项目包括以下字段:
状态:表示项目的状态.其值为FREE(已超时),PENDING(已发送请求但未应答)或RESOLVED(已经应答).
硬件类型,协议类型,硬件地址长度,协议地址长度:与ARP分组中的相应字段相同.
接口号:对应路由器的不同接口.
队列号:ARP使用不同的队列将等待地址解析的分组进行排队.发往同一个目的地的分组通常放在同一个队列中.
尝试:表示这个项目发送出了多少次的ARP请求.
超时:表示一个项目以秒为单位的寿命.
硬件地址:目的硬件地址,应答返回前保持为空.
协议地址:目的高层协议地址如IP地址
1、在每一行上最多显示 5 个文件名或列出指定目录及所有回响请求信息到目的将用于系统关闭的定时器设置为 xx 秒。默认值是 20 秒。 -l 注销当前
2、发送DHCPdiscover也可以让电脑发送广播帧,只要给路由器配好DHCP功能然后让pc获取即可。
3、命令式 #show arp 这个可以查看所有arp列表 看这个 一般是看不出来的 建议瞧一下 show ip int bri 看看端口状态列表 如果路由器的网段和PC机不在同一个网段 记得加一条路由 0.0.0.0 .0.0.0.0 接下一条的IP地址 加一条缺省路由
4、1、 添加静态项,例子: arp -s 157.55.85.212 00-aa-00-62-c6-09 2、显示arp缓存表: arp -a 3、删除arp缓存条目: arp -d 157.55.85.212 arp -d * 则删除arp缓存内的所有主机arp表。
‘叁’ ARP高速缓存的介绍
ARP高速缓存(ARP cache),由最近的ARP项组成的内在中的一个临时表,在Windows 2000系统中ARP调整缓存中的项两分钟后丢失。每个主机或者路由器都有一个ARP高速缓存表。它用来存放最近Internet地址到硬件地址之间的映射记录。高速缓存表中每一项的生存时间都是有限的,起始时间从被创建时开始计算的。
‘肆’ ARP是什么东西!!
RP实际上是英文词组Address Resolution Protocol的简称,它的中文名叫做地址解析协议。
它主要指的就是根据电脑的ip地址获取到的一个物理地址上的ip协议,arp是建立在网络中各个主机之间互相信任的前提下,它还可以对本机ARP缓存中的的ip地址以及mac地址这两者的对应关系进行排查,由此做出添加以及删除各种静态对应关系等等。
现在我们常见的相关协议有rarp、代理arp等等,如果ndp的用户还能在IPv6中来代替arp。
解决办法
根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。
源主机A的IP地址和MAC地址都包括在ARP请求中,本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
(4)arp缓存表构成扩展阅读
防护原理
防止ARP攻击是比较困难的,修改协议也是不大可能。但是有一些工作是可以提高本地网络的安全性。
首先,你要知道,如果一个错误的记录被插入ARP或者IP route表,可以用两种方式来删除。
a. 使用arp –d host_entry
ARP断网攻击
b. 自动过期,由系统删除
这样,可以采用以下的一些方法:
减少过期时间
#ndd –set /dev/arp arp_cleanup_interval 60000
#ndd -set /dev/ip ip_ire_flush_interval 60000
60000=60000毫秒 默认是300000
加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复,请不要在繁忙的网络上使用。
参考资料:网络-ARP攻击
‘伍’ ARP缓存是什么 如何查看ARP缓存
ARP缓存表是可以查看的,也可以添加和修改。在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了,如附图所示。
arp -a
用“arp -d”命令可以删除ARP表中所有的内容;
用“arp -d +空格+ <指定ip地址>” 可以删除指定ip所在行的内容
用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应,类型为static(静态),此项存在硬盘中,而不是缓存表,计算机重新启动后仍然存在,且遵循静态优于动态的原则,所以这个设置不对,可能导致无法上网
‘陆’ 什么是arp缓存表
arp_tbl是一个类型为struct
neigh_table的全局变量,它是一个ARP的缓存表,也称为邻居表。协议栈通过ARP协议获取到的网络上邻居主机的IP地址与MAC地址的对应关系都会保存在这个表中,以备下次与邻居通讯时使用,同时,ARP模块自身也会提供一套相应的机制来更新和维护这个邻居表
‘柒’ ARP缓存表
路由器里面的,用来储存局域网内部IP地址和相对应的MAC地址,一个IP对应一个MAC地址,IP可以变,但是MAC是全球唯一的。一般病毒会利用ARP欺骗来破坏局域网,就是修改路由器ARP缓存表。
‘捌’ 关于ARP缓存表·
当要访问某个IP,计算机必须知道这个IP的物理地址(MAC地址),这时计算机会发一个广播式的数据包询问:“ipx.x.x.x对应的mac是什么?我是IP y.y.y.y , 我的mac是yy-yy-yy-yy-yy-yy” 整个局域网的机子都收到这个询问,真正拥有这个IP的机子就会回答它:“IP x.x.x.x的mac地址是我这个xx-xx-xx-xx-xx-xx”。
询问的机子会临时保存这个在“IP-MAC对照表”,一段时间不与某IP通讯的话,会删除对应条目。“IP-MAC对照表”中的临时条目就是arp缓存。
另,即使不是正确的机器也可以回答那个询问,回答一个错误的MAC,有可能让询问的机子发数据到错误的机子。这就叫“ARP欺骗”,可以说是利用arp协议设计上的漏洞。防止方法是设置静态“IP-MAC对照条目”。
‘玖’ 什么叫ARP缓存表
arp缓存表是一张用于存放IP地址和mac地址一一对应关系的表。
‘拾’ ARP缓存表存在哪里
arp缓存表,如果是在交换机或者路由或者终端都是保存在内存中的 ram