ARP协议

一、背景

在网络通讯过程中,主机到主机通信的数据包需要从下至下进行封装,封装完整后再向外发出。在局域网通信中,不仅需要封装源目IP,还需要封装源目MAC,而上层应用程序更多关心IP地址而不关心MAC地址,这时就需要通过ARP协议来获取MAC地址完成数据的封装。

二、定义及功能

ARP是英文‘Address Resolution Protocol’的缩写,叫做地址解析协议,用于实现IP地址到MAC地址的映射(通过IP找到对应的MAC地址),实现数据封装过程,属于网络层协议。
ARP协议被称为最不安全的协议,如网络扫描、中间人拦截、内网渗透、流量欺骗等,基本都和ARP脱不了关系。

三、原理

通过广播请求,单播回应的方式得到目标IP对应的MAC地址,将映射关系记录到MAC映射表中,广播请求的MAC地址为‘ff:ff:ff:ff:ff:ff’

arp -a #查看电脑的ARP缓存表
arp -d #删除(清除)ARP表项

广播数据包不能跨网段;(arp request无法发送到远端设备)
多网段通信中,ip地址不变mac地址变
同网段通信中,IP和MAC地址不变,跟谁通信用谁的MAC

四、字段解读

  1. Hardware Type:硬件类型,标识链路层协议
  2. Protocol Type:协议类型,标识网络层协议
  3. Hardware size:硬件地址大小,标识MAC地址长度,一般为6个字节(48bit)
  4. Protocol size:协议地址大小,标识IP地址长度,一般为4个字节(32bit)
  5. Opcode:操作代码,标识ARP数据包类型,1表示请求,2表示回应
  6. Sender MAC address:发送者MAC
  7. Sender IP address:发送者IP
  8. Target MAC address:目标MAC
  9. Target IP address:目标IP

五、ARP攻击原理

1.局域网中的电脑是如何通讯的
1.1. 当局域网中PC1需要与PC2通信时,PC1需要通过ARP请求包询问PC2的MAC地址(谁是PC2请把MAC地址告诉我一下),通过广播请求的方式进行询问(如果是交换机收到广播/组播/未知帧都会往其他接口泛洪)。
1.2. PC2收到请求包时进行单播回应(我是PC2我的MAC地址是XXX),其他电脑如PC3,PC4等收到请求包后知道不是询问自己,就直接丢弃掉不予回应。
1.3. PC1和PC2根据ARP的请求回应,将各自的ARP映射信息(IP-MAC)存储在本地的ARP缓存表中。
1.4. 交换机根据学习机制,记录MAC对应的接口信息(MAC-PORT),存储在CAM缓存表中(MAC地址表),交换机在收到数据包进行解封装时,就是根据目标MAC进行转发到对应的接口。

● 主机通讯需要查找ARP表(IP - MAC),而交换机通信需要查找CAM表(PORT - MAC)
● 交换机基于源MAC地址学习,基于目标MAC地址转发
● 同一局域网内,攻击者可根据主机的ARP广播请求来监听其IP和MAC信息,这里指被动监听
2. 如何发起Arp攻击
正常情况下若收到的ARP请求不是自己的,则直接丢弃,但如果是攻击者在监听之后发起了ARP回应,回应内容为:我就是IPxxx,我的MAC地址是xxx,发送了一个错误的ARP映射,就是通过发送这种错误映射的回应包来实现ARP攻击。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值