ARP协议的基础知识(经典)_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置: 首页系统集成网络管理 → ARP协议的基础知识(经典)

ARP协议的基础知识(经典)

时间:2015-06-28 00:00:00 来源:绿色软件之家 作者:网管联盟 我要评论(0)

  1.ARP的工作原理

  本来我不想在此重复那些遍地都是的关于ARP的基本常识,但是为了保持文章的完整性以及照顾初学者,我就再啰嗦一些文字吧,资深读者可以直接跳过此节。

  我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolution Protocol,地址解析协议)。

  讲到此处,我们可以在命令行窗口中,输入

  arp –a

  来看一下效果,类似于这样的条目

  210.118.45.100??? 00-0b-5f-e6-c5-d7??? dynamic

  就是我们电脑里存储的关于IP地址与MAC地址的对应关系,dynamic表示是临时存储在ARP缓存中的条目,过一段时间就会超时被删除(xp/2003系统是2分钟)。

  这样一来,比如我们的电脑要和一台机器比如210.118.45.1通信的时候,它会首先去检查arp缓存,查找是否有对应的arp条目,如果没有,它就会给这个以太网络发ARP请求包广播询问210.118.45.1的对应MAC地址,当然,网络中每台电脑都会收到这个请求包,但是它们发现210.118.45.1并非自己,就不会做出相应,而210.118.45.1就会给我们的电脑回复一个ARP应答包,告诉我们它的MAC地址是xx-xx-xx-xx-xx-xx,于是我们电脑的ARP缓存就会相应刷新,多了这么一条:

  210.118.45.1?? xx-xx-xx-xx-xx-xx?? dynamic

  为什么要有这么一个ARP缓存呢,试想一下如果没有缓存,我们每发一个IP包都要发个广播查询地址,岂不是又浪费带宽又浪费资源?

  而且我们的网络设备是无法识别ARP包的真伪的,如果我们按照ARP的格式来发送数据包,只要信息有效计算机就会根据包中的内容做相应的反应.

  试想一下,如果我们按照ARP响应包的相应的内容来刷新自己的ARP缓存中的列表,嘿嘿,那我们岂不是可以根据这点在没有安全防范的网络中玩些ARP包的小把戏了?在后面的文章里我就手把手来教你们如何填充发送ARP包,不过先别急,我们再继续学点基础知识^_^

  2.ARP包的格式

  既然我们要来做一个我们自己的ARP包,当然首先要学习一下ARP包的格式。

  从网络底层看来,一个ARP包是分为两个部分的,前面一个是物理帧头,后面一个才是ARP帧。

  首先,物理帧头,它将存在于任何一个协议数据包的前面,我们称之为DLC Header,因为这个帧头是在数据链路层构造的,并且其主要内容为收发双方的物理地址,以便硬件设备识别。

  

DLC Header
字段
长度(Byte)
默认值
备注
接收方MAC
6
?
广播时,为 ff-ff-ff-ff-ff-ff
发送方MAC
6
?
?
Ethertype
2
0x0806
0x0806是ARP帧的类型值
                图1 物理帧头格式

  图1是需要我们填充的物理帧头的格式,我们可以看到需要我们填充的仅仅是发送端和接收端的物理地址罢了,是不是很简单呢?

  接下来我们看一下ARP帧的格式.

  

关键词标签:ARP协议

相关阅读

文章评论
发表评论

热门文章 路由器地址大全-各品牌路由设置地址 路由器地址大全-各品牌路由设置地址 各品牌的ADSL与路由器出厂默认IP、帐号、密码 各品牌的ADSL与路由器出厂默认IP、帐号、密码 Nslookup命令详解-域名DNS诊断 Nslookup命令详解-域名DNS诊断 站长装备:十大网站管理员服务器工具软件 站长装备:十大网站管理员服务器工具软件

相关下载

    人气排行 各品牌的ADSL与路由器出厂默认IP、帐号、密码 路由器地址大全-各品牌路由设置地址 腾达路由器怎么设置?腾达路由器设置教程 ADSL双线负载均衡设置详细图文教程 路由表说明(详解route print) Nslookup命令详解-域名DNS诊断 网管员实际工作的一天 网管必会!了解交换机控制端口流量

    ARP Frame
    字段
    长度(Byte)
    默认值
    备注
    硬件类型
    2
    0x1
    以太网类型值
    上层协议类型
    2
    0x0800
    上层协议为IP协议
    MAC地址长度
    1
    0x6
    以太网MAC地址长度为 6
    IP地址长度
    1
    0x4
    IP地址长度为 4
    操作码
    2
    ?
    0x1表示ARP请求包,0x2表示应答包
    发送方MAC
    6
    ?
    ?
    发送方IP
    4
    ?
    ?
    接收方MAC