ARP协议/中间人攻击


ARP协议的叙述(需要了解一些基本知识)

ARP协议是我们得PC用来获取目标MAC地址所需要的一种协议,举个例子,如果我们在ping同一局域网某一台PC时,我们所发的ping的请求是以帧的形式通过交换机,然后再由交换机发往所ping的PC。我们如果想要实现ping通一台PC就需要目标PC的MAC地址和IP地址,通常我们在ping的时候就已经知道目标IP地址,但不知道MAC地址,所以在我们的ping的帧从我们的PC发出之前,我们必须得要知道目标PC得IP地址,所以这时候据需要发送APR请求用来获取目标的MAC地址而过程大致为:(以源IP10.1.1.1,目标IP10.1.1.2)

我们先发送一个广播,广播中的目标MAC地址为广播地址也就是12个F,广播内容大致为:我是10.1.1.1,我的MAC地址为AA,谁是10.1.1.2,请把你的MAC地址给我,然后在这个局域网中的所有PC都会收到这个广播,然后将这个广播报文进行帧头和帧尾的去除,然后每一个PC利用ARP协议将目标IP与自己的IP进行比对,如果正确,则会通过单播应答的方式,对回发自己的MAC地址,10.1.1.1在收到这个回包之后就会将10.1.1.2的MAC地址放到目标MAC地址处,发到交换机处,在由交换机转发到目标PC

ARP的相关注意事项

ARP的报文只能在局域网之间转发,不同的局域网不能转发。
在我们接收ARP报文的时候我们的PC会在自己本机形成一个ARP缓存,这个ARP缓存可以通过cmd或者powershell来查看,命令为

arp -a

我们的ARP缓存会在我们的PC上存在一段时间(毕竟是缓存),当然我们PC上的静态ARP缓存不会消失。ARP协议有一个弊端就是如果收到两份相同的ARP回包它只会学习最新收到的回包,将原有的相同的MAC地址缓存进行更新。(这就是中间攻击原理)

中间人攻击

在上边我已经说了ARP的弊端,接下来就要说怎么利用了,在同一局域网中,有三台机器地址分别为10.1.1.1,10.1.1.2,10.1.1.3,我以10.1.1.2为攻击者,其他两个为被攻击者,10.1.1.2向10.1.1.1发送ARP报文内容大致为:我是10.1.1.3,我的MAC地址为AA,同时也向10.1.1.3发送ARP报文内容大致为:我是10.1.1.1,我的MAC地址为AA,此时10.1.1.1和10.1.1.3两台PC上的ARP缓存都接受ARP报文并进行了更新,此时如果10.1.1.1向10.1.1.3发送信息就会先流经10.1.1.2然后转往10.1.1.3,同样10.1.1.3发往10.1.1.1的信息也是如此,然后我们就可以利用相关软件来进行信息的窃取或者修改,具体软件我就不多说了(kali的ettrecap)


文章作者: lemon-fan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 lemon-fan !
 上一篇
基础知识补充 基础知识补充
路由在我们日常生活中总能听到路由器这个名讽刺,我们日常所用家用路由器实际上可以说是一个三层交换机(交换机和路由器的集合体),用企业的网络来说,最基本的网络由交换机和PC构成内网,再由路由器构成网关,而路由器则和外网连接,也就是说我们
2020-07-24
下一篇 
知识补充1 知识补充1
组与管理(本人目前就学了这么多如果有不对的地方欢迎指正)我们每一个人的电脑上都会有用户,而每一个用户的权限不一样,将相同权限的用户归于同一个族中就会形成不同的组,例如在win10系统中我们一般登录的话都是用自己的用户名和密码登录,wi
2020-05-11 lemon-fan
  目录