ARP
+ -

ARP 工作流程

2023-07-19 0 0

数据的格式均以网络字节序存储即大端存储

协议类型:

08 06 ARP
08 00 IP

操作码:

00 01 请示
00 02 回复

硬件地址和协议地址长度均以字节为单位,这和IP数据包头长度有点不一样,IP数据包头长度是4字节的倍数,但IP数据总长度却以字节为单位。

以下为抓包数据格式解释:
本机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填补)

5.补充说明

假如说两台主机不在同一局域网,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的MAC地址,而是一台可以通往局域网外的路由器的某个端口的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP Proxy)。也就是说,本地主机当寻求一个IP地址的MAC时,找不到,不是同一局域网,那它会收到路由器的MAC地址,说,这个数据就交给你了,剩下的事就你来处理了,你去找目的主机吧!

每次都要用ARP request来寻求MAC是很低效的,ARP cache则很好的解决了这个问题。

0 篇笔记 写笔记

ARP 简介
ARP协议—-Address Resolution Protocol—-地址解析协议地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息......
ARP 报文格式
ARP的数据包格式协议如下图所示:图中以太网目的地址,以太网源地址,发送端以太地址,发送端IP地址,目的以太网地址,目的IP地址这几个字段的含义很明显。帧类型:固定为08 06 ,指标为ARP。硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为00 01;协议类型字段:指明了发送方......
ARP C数据结构
使用C/C++语言,我们可以定义ARP的数据结构如下:#pragma pack(1)//以太网头#define ETH_ALEN (6)typedef struct _ETH_HEADER{ unsigned char DstAddr[ETH_ALEN]; ......
ARP 工作流程
数据的格式均以网络字节序存储即大端存储。协议类型:08 06 ARP08 00 IP操作码:00 01 请示00 02 回复硬件地址和协议地址长度均以字节为单位,这和IP数据包头长度有点不一样,IP数据包头长度是4字节的倍数,但IP数据总长度却以字节为单位。以下为抓包数据格式解释:本......
ARP 命令行工具
ARP命令常见用法arp -aarp –g用于查看缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。arp -a Ip如......
ARP 攻击及防范
故障原因局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序)。故障原理在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的A......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!