ARP协议及应用

本文深入解析了ARP协议的工作原理,包括如何根据IP地址获取MAC地址,以及ARP缓存表的作用。通过详细分析ARP数据包结构,阐述了ARP协议在实现网络监听功能中的关键作用。同时,文章提供了在Windows环境下查看ARP信息的方法。
摘要由CSDN通过智能技术生成

ARP协议是根据IP地址获取物理地址的一个TCP/IP协议主机将包含目标主机IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以确定目标的物理地址;收到返回消息后将该IP地址和MAC地址( Media Access Control Address)存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

注意加粗的部分,这是后面实现监听业务的必要条件。

windows下CMD命令窗口,输入arp 命令,可以进行arp信息的查看。

arp缓存表:

 

先来看一下ARP数据包的结构:

               

               一般来说,以太网地址就指MAC地址

          1ARP请求目的MAC地址,全1时代表广播地址。

          2发送ARP请求的MAC地址。

          3数据类型,ARP请求和ARP应答这个值为0x0806。

          4硬件地址类型,标识MAC地址时此值为0x0001。

          5协议地址类型,标识ipv4地时值为0x0800。

          6表示硬件地址长度,0x06。

               7表示协议地址长度,0x04。

          8操作类型,值为0x0001,ARP请求;值为0x0002,ARP应答;值为0x0003,RARP请求;值为0x0004,RARP应答。

          9发送端ARP请求或应答的MAC地址。

          10发送ARP请求或应答的IP地址。

               11目的端的MAC地址。

               12目的端的IP地址。

ARP的常见应用场景---依赖“ARP欺骗”实现网络监听功能。

 再来看一下基本的实现逻辑:

 1、主机Ⅰ封装一个ARP应答包,以太网首部、ARP请求应答部分的发送端以太网地址装填Ⅰ主机的MAC地址,发送端IP地址装填网关IP,目的地址以太网地址装填Ⅱ主机的MAC地址,目的IP地址装填Ⅱ主机的IP,帧类型为ARP请求/应答,即0x0806,硬件类型为以太网取值0x0001,硬件地址长度即MAC地址长度为0x06,协议地址长度即IP地址长度为0x04,操作类型为应答即装填0x002,封装完成后将包发出,当Ⅱ主机接收到ARP 应答包后,发现包中IP为网关IP,则ARP缓存表里的网关IP/MAC映射信息更新,将(网关IP=>网关MAC)更新为(网关IP=>Ⅰ-MAC)。

2、主机Ⅰ再封装一个ARP应答包,以太网首部、ARP请求应答部分的发送端以太网地址装填主机Ⅰ的MAC地址,而发送端IP部分填入主机Ⅱ的IP,目的以太网地址装填网关MAC地址、目的IP地址装填网关IP,封装完成后将包发出,网关接收到的ARP应答包后,发现包中发出段IP为主机Ⅱ的IP,于是在它的ARP缓存表里主机Ⅱ-IP/主机Ⅱ-MAC的映射信息刷新,将(ⅡIP=>ⅡMAC)更新为(Ⅱ-IP=>Ⅰ-MAC)。

完成1操作后,主机Ⅱ进行网络通信时,所有本该流向网关的数据包,都流向了主机Ⅰ,需要主机Ⅰ对由主机Ⅱ发来的数据包中的目的地址进行判断并调整,再转发至网关。

完成2操作后,网关发送给主机Ⅱ的数据都流向了主机Ⅰ,需要主机Ⅰ对网关发来的数据包中的地址进行判断并调整,再转发至主机Ⅱ。


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值