ARP Protocol Analysis


ARP概述

网络中所有的协议(HTTP、URL、FTP、TELNET、TCP、UDP、ARP ······)都包含在TCP/IP协议栈中,从使用上来看:其中大部分协议都是大家平常上网所接触到的,不知道你们是否留意过;从安全上来看:其中最不安全的协议就是ARP协议(在功能上讲属于二层协议、在层次上讲属于三层协议);为什么说ARP协议是最不安全的呢???一般我们在网上见到的或听其他人所讲的涉及”网络扫描”、”内网渗透”、”流量欺骗”、”中间人拦截”、”局域网流控”所导致的问题一般都与ARP协议有关(内网中所引发的网络问题)

ARP(Address Resolution Protocol)协议简单来说就是:地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。在以太网中,一台主机要把数据帧发送到同一局域网上的另一台主机时,设备驱动程序必须知道以太网地址(MAC地址)才能发送数据。而我们只知道IP地址,这时就需要采用ARP协议将IP地址映射为以太网地址(MAC地址)。计算机之间的通信最终还是要依靠MAC地址(每一个MAC地址确定一台计算机,相当于每个人的身份证一样进行唯一标识)

对于大部分人来说要注意一点IP地址和MAC地址是不一样的,(1)IP地址是逻辑地址作用于软件上,而MAC地址是实际地址作用于硬件上;(2)IP地址(IPV4)长度为4Byte(32bit),MAC地址长度为6Byte(48bit);

相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

ARP报文格式

img

各字段意义

以太网首部

以太网目的地址:广播时:ff-ff-ff-ff-ff-ff

以太网源地址:源MAC地址

帧类型: 0x0806 (0x0806是ARP帧的类型值 ; 0x0800网际协议IP数据报)

ARP包

硬件类型:表示硬件地址(MAC地址)的类型,值为1表示以太网地址

协议类型:表示要映射的协议地址类型。它的值为0x0800表示IP地址类型

硬件地址长度:以太网MAC地址长度为 6Byte

协议地址长度:IP地址长度为 4Byte

操作类型(op):1表示ARP请求,2表示ARP应答,3表示RARP请求,4表示RARP应答

发送端MAC地址:发送方设备的硬件地址

发送端IP地址:发送方设备的IP地址

目标MAC地址:接收方设备的硬件地址

目标IP地址:接收方设备的IP地址

WireShark&&ARP报文结合分析

img

ARP原理之广播请求&单播回应

了解简单网络拓扑

img

实验条件:PC1 ping PC2 进行简单通信

但是,PC1此时的ARP表中没有PC2的MAC地址映射,PC1只知道PC2的IP地址(IP2)并不知道PC2的MAC地址,这个时候就要用到ARP协议,通过IP地址解析出MAC地址(这个过程由PC1广播,PC2单播使PC1获取PC2的MAC地址)

img

PC1广播&PC2单播更新ARP表

img

PC1为了与PC2通信,获取PC2的MAC地址,开始在同一内网中进行广播在交换机处进行广播的请求转发,(广播请求包的内容包含:谁的IP地址是IP2(谁是PC2)、我的IP地址是IP1,MAC地址是MAC1、)当每一台主机收到这个广播请求包的时候,会根据 “谁的IP地址是IP2” 进行判断该请求包是否是对自己的请求,假如其它主机发现不是对自己做出的请求,那么其它主机就会直接丢掉这个请求包,真正接收到这个请求包的主机会发出回应包(Reply(2))进行回应(回应包里的内容包含:PC2与PC1的IP地址和MAC地址)此时PC2也会根据这个请求包来更新自己的ARP表,方便以后通信,当PC2的响应包到达PC1时,PC1会根据响应包里面PC2的IP地址和MAC地址信息进行更新自己的ARP表,如果广播和单播都没有什么问题,现在PC1和PC2之间就可以正常通信了。

ARP广播&单播通信数据包解读

通过上面的概述,到这里相信你应该对ARP协议、ARP广播、ARP单播有了大概的认识,为了进一步了解它们,我们用WireShark在真是网络中进行流量抓包分析ARP协议过程。

真实环境中还是利用上面的拓扑结构,还原第三部分中的过程

PC1:IP1 192.168.43.146 MAC1 c8:3d:d4:81:86:49

PC2:IP2 192.168.43.200 MAC2 00:0c:29:3b:8e:bc

ARP请求包(request)PC1广播

img

ARP响应包(reply)PC2单播

img


Author: Qftm
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Qftm !
 Previous
ARP Protocol Spoofing Attack ARP Protocol Spoofing Attack
ARP攻击概述ARP攻击主要是存在于局域网中,通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或
2018-10-13
Next 
Kali Rolling 2018 系统配置 Kali Rolling 2018 系统配置
今天,物理机上成功的安装了Kali Linux系统,但是要想用的顺手还需要花费许多时间和精力,下面就是我对它的一部分养成之路。 添加普通用户useradd -m -G sudo,video,audio,cdrom -s /bin/bash
2018-07-04
  TOC