重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

ARP工作原理及解析-创新互联

一、ARP包格式分析

工作原理:

10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有竹溪免费网站建设让你可以放心的选择与我们合作。

在网络 通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数 据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用。源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填 FF:FF:FF:FF:FF:FF表示广播),目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机, 将自己的硬件地址填写在应答包中。

每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址。试想一下如果没有缓存,我们每发一个IP包都要发个广播查询地址,岂不是又浪费带宽又浪费资源?而且我们的网络设备是无法识别ARP包的真伪的,如果我们按照ARP的格式来发送数据包,只要信息有效计算机就会根据包中的内容做相应的反应.

ARP数据报格式

ARP工作原理及解析

注意到 源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要 的。硬件类型指链路层网络类型,1为以太网,协议类型指要转换的地址类型,0x0800为IP地址,后面两个地址长度对于以太网地址和IP地址分别为6和 4(字节),op字段为1表示ARP请求,op字段为2表示ARP应答。

以太网首部:

字段             长度(Byte)       默认值            备注
接收方MAC    6                                   广播时,为 ff-ff-ff-ff-ff-ff
发送方MAC    6
Ethertype      2                                  0x0806    0x0806是ARP帧的类型值

ARP包:

字段              长度(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      6
接收方IP          4
填充数据       18                   因为物理帧最小长度为64字节,前面的42字节再加上4个CRC校验字节,还差18个字节

二、 实例解析

本机IP:192.168.0.1 (c0 a8 00 01)
本机MAC:00-50-56-c0-00-01

目标IP:192.168.0.2 (c0 a8 00 02)
目标MAC:00-0c-29-0b-42-7e

1、  Ping 目标主机192.168.0.2时,本机发送的ARP数据包为
00000000 : ff ff ff ff ff ff 00 50 56 c0 00 01 08 06 00 01
00000010 : 08 00 06 04 00 01 00 50 56 c0 00 01 c0 a8 00 01
00000020 : 00 00 00 00 00 00 c0 a8 00 02

以太网数据包发送目的地:ff ff ff ff ff ff(全网)
以太网数据包发送源:00 50 56 c0 00 01(本机)
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 01(Request)
数据内容:告诉IP为c0 a8 00 02的目标主机,本机的IP为c0 a8 00 01,MAC为
00 50 56 c0 00 01,请更新,并将你的MAC发送给我。

目标主机回应本机的ARP数据包为
00000000 : 00 50 56 c0 00 01 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 02 00 0c 29 0b 42 7e c0 a8 00 02
00000020 : 00 50 56 c0 00 01 c0 a8 00 01

以太网数据包发送目的地:00 50 56 c0 00 01
以太网数据包发送源: 00 0c 29 0b 42 7e
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 02(Reply)
数据内容:告诉MAC为  00 50 56 c0 00 01 的主机,你的IP和MAC我已经收到,我的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 02,请保存更新。

2、  修改系统IP时(未发生IP冲突的情况下),发送的ARP数据包为
00000000 : ff ff ff ff ff ff 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 01 00 0c 29 0b 42 7e c0 a8 00 03
00000020 : 00 00 00 00 00 00 c0 a8 00 03

以太网数据包发送目的地:ff ff ff ff ff ff(全网)
以太网数据包发送源:00 0c 29 0b 42 7e(本机)
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 01(Request)
数据内容:告诉IP为c0 a8 00 03的主机,本机的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 03。由于网络内没有c0 a8 00 03 主机,所以此数据包将不会有回应,此时,局域网交换机将会刷新缓存,使你的IP和MAC对应起来。

3、  修改系统IP时(发生IP冲突的情况下),发送的ARP数据包为
00000000 : ff ff ff ff ff ff 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 01 00 0c 29 0b 42 7e c0 a8 00 01
00000020 : 00 00 00 00 00 00 c0 a8 00 01

以太网数据包发送目的地:ff ff ff ff ff ff(全网)
以太网数据包发送源:00 0c 29 0b 42 7e
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 01(Request)
数据内容:告诉IP为c0 a8 00 01的主机,本机的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 01。由于网络内已经有c0 a8 00 01 主机,将会发生冲突。这时将收到ARP Reply数据包。

接收的ARP数据包为
00000000 : 00 0c 29 0b 42 7e 00 50 56 c0 00 01 08 06 00 01
00000010 : 08 00 06 04 00 02 00 50 56 c0 00 01 c0 a8 00 01
00000020 : 00 0c 29 0b 42 7e c0 a8 00 01

以太网数据包发送目的地:00 0c 29 0b 42 7e
以太网数据包发送源:00 50 56 c0 00 01
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 02(Reply)
数据内容:告诉MAC为00 0c 29 0b 42 7e的主机,本机的MAC和IP为00 50 56 c0 00 01和 c0 a8 00 01。这时MAC 为42 7e c0 a8 00 01的主机收到这个包后,并知道他的IP与其它主机冲突了。

4、  伪造ARP数据包
向目标MAC发送伪造的ARP Reply,告知一个假的信息,达到欺骗的目的。
本机真实IP为:192.168.0.1(c0 a8 00 01)
本机真实MAC为:00-50-56-c0-00-01
伪造的MAC为:11-11-11-11-11-11

欺骗目标:
IP为:192.168.0.2(c0 a8 00 02)
MAC:00-0c-29-0b-42-7e

伪造的数据包如下:
Packet length: 60
00000000 : 00 0c 29 0b 42 7e 11 11 11 11 11 11 08 06 00 01
00000010 : 08 00 06 04 00 02 11 11 11 11 11 11 c0 a8 00 01
00000020 : 00 0c 29 0b 42 7e c0 a8 00 02(剩余部分用0填补)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:ARP工作原理及解析-创新互联
转载源于:http://cqcxhl.com/article/dgdpsi.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP