ARP欺骗原理及实现(1),网络安全开发者面试如何系统复习

ARP协议的用途是为了从网络层使用的IP地址,解析出在数据链路层使用的MAC地址

当主机A要向本局域网上的某台主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。也有可能查不到主机B的IP地址的项目,在这种情况下,主机A就自动运行ARP,然后按以下步骤找出主机B的硬件地址:

(1)ARP进程在本局域网上广播发送一个ARP请求分组

(2)在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组

(3)主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址。虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址

(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射

当主机A向B发送数据报时,很可能以后不久主机B还要向A发送数据报,因而主机B也可能要向A发送ARP请求分组。为了减少网络上的通信量,主机A在发送其ARP请求分组时,就把自己的IP地址到硬件地址的映射写入ARP请求分组。当主机B收到A的ARP请求分组时,就把主机A的这一地址映射写入主机B自己的ARP高速缓存中。以后主机B向A发送数据报时就很方便了

二、ARP协议的报文字段以及字段含义

ARP是一个独立的三层协议,所以ARP报文在向数据链路层传输时不需要经过IP协议的封装,而是直接生成自己的报文,其中包括ARP报头,到数据链路层后再由对应的数据链路层协议(如以太网协议)进行封装。ARP报文分为ARP请求和ARP应答报文两种,它们的报文格式可以统一为下图所示

  • 硬件类型:占2字节,表示ARP报文可以在哪种类型的网络上传输,值为1时表示为以太网地址。
  • 上层协议类型:占2字节,表示硬件地址要映射的协议地址类型,映射IPV4地址时的值为0x0800。
  • MAC地址长度:占1字节,标识MAC地址长度,以字节为单位,此处为6
  • IP协议地址长度:占1字节,标识IP得知长度,以字节为单位,此处为4
  • 操作类型:占2字节,指定本次ARP报文类型。1 标识ARP请求报文,2 标识ARP应答报文,3 标识RARP请求报文,4 标识RARP应答报文。
  • 源MAC地址:占6字节,标识发送设备的硬件地址。
  • 源IP地址:占4字节,标识发送方设备的IP地址。
  • 目的MAC地址:占6字节,表示接收方设备的硬件地址,在请求报文中该字段值全为0,即00-00-00-00-00-00,表示任意地址,因为现在不知道这个MAC地址。
  • 目的IP地址:占4字节,表示接受方的IP地址。

三、ARP攻击与欺骗

1、ARP攻击原理

ARP 协议的缺陷在于缺乏验证机制。当主机接收到 ARP 数据包时,不会进行任何认证就刷新自己的 ARP 高速缓存。利用这一点可以实现 ARP 欺骗,造成 ARP 缓存中毒。所谓 ARP 缓存中毒,就是主机将错误的IP地址和MAC地址的映射信息记录在自己的ARP高速缓存中

ARP攻击发送的是ARP应答,但是ARP应答包中的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成此虚假MAC地址导致无法正常通信

如下图所示:如果PC2对主机PC1发起ARP攻击,使其无法访问互联网,就需要对网关或PC1发送虚假的ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障

2、ARP欺骗原理

1)、欺骗网关

ARP欺骗的目的不是为了让被攻击主机无法访问互联网,而是让被攻击主机访问互联网时的数据经过 PC2 再由网关转发到Internet,所以这时被攻击主机PC1和网关收到的都是真实的MAC地址,是攻击主机PC2的MAC地址

2)、欺骗主机

原理和欺骗网关一致,都是为了截获被攻击主机发送给其他主机的数据流量

ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的

四、ARP攻击与欺骗演示

1、实验环境:

靶机:Win10

攻击机:Kali Linux

确保两台主机都能上网,可以互相通信,这里两台主机都使用NAT模式(ARP断网攻击是局域网攻击,我们要保证目标主机必须和自己处于一个局域网内)

2、查看Win10和Kali的IP相关参数

Win10:

IP地址:192.168.206.138

MAC地址:00-0C-29-7E-9F-87

网关IP地址:192.168.206.2

网关MAC地址:00-50-56-fb-d1-77

Kali:

IP地址:192.168.206.128

MAC地址:00:0c:29:08:bd:c0

3、在Kali上面安装网络嗅探工具包dsniff

arp-get install dsniff

4、在Kali上面实施ARP攻击

arpspoof -i eth0 -t 192.168.206.138 192.168.206.2

-i 接口名称

-t 攻击主机目标地址 攻击主机网关地址

5、Win10使用arp -a命令ARP缓存表,发现网关的MAC地址映射为Kali的MAC地址

6、在Win10使用Wireshark抓取ARP数据包,发现有大量从Kali发往Win10的ARP响应数据包

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

s://img-blog.csdnimg.cn/direct/a91b9e8100834e9291cfcf1695d8cd42.png#pic_center)

因篇幅有限,仅展示部分资料

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-EqTI6tJQ-1712646879583)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值