您当前的位置: 首页 >  ar
  • 0浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ARP欺骗原理

沙漠一只雕得儿得儿 发布时间:2016-10-05 21:34:41 ,浏览量:0

一.arp欺骗的原理  以太网设备(比如网卡)都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是以太网设备却识别不了IP数据包中的IP地址,所以要在以太网中进行IP通信,就需要一个协议来建立IP地址与MAC地址的对应关系,使IP数据包能够发送到一个确定的主机上。这种功能是由arp(AddressResolution Protocol)来完成的。  arp被设计成用来实现IP地址到MAC地址的映射。arp使用一个被称为arp高速缓存的表来存储这种映射关系,arp高速缓存用来存储临时数据(IP地址与MAC地址的映射关系),存储在arp高速缓存中的数据在几分钟没被使用,会被自动删除。  arp协议不管是否发送了arp请求,都会根据收到的任何arp应答数据包对本地的arp高速缓存进行更新,将应答数据包中的IP地址和MAC地址存储在arp高速缓存中。这正是实现arp欺骗的关键。可以通过编程的方式构建arp应答数据包,然后发送给被欺骗者,用假的IP地址与MAC地址的映射来更新被欺骗者的arp高速缓存,实现对被欺骗者的arp欺骗。 

有两种arp欺骗:一种是对路由器arp高速缓存的欺骗;另一种是对内网电脑arp高速缓存的欺骗。

在每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。

假设主机 A 192.168.1.2, B 192.168.1.3, C 192.168.1.4; 网关 G 192.168.1.1; 在同一局域网,主机A和B通过网关G相互通信,就好比A和B两个人写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。但是并不是想象中的那么安全,在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。

这样C就有了偷听A和B的谈话的可能,继续思考上面的例子:

C假扮邮递员,首先要告诉A说:“我就是邮递员” (C主机向A发送构造好的返回包,源IP为G 192.168.1.1,源MAC为C自己的MAC地址),愚蠢的A很轻易的相信了,直接把“C是邮递员”这个信息记在了脑子里;

C再假扮A,告诉邮递员:“我就是A” (C向网关G发送构造好的返回包,源IP为A 192.168.1.2,源MAC地址为自己的MAC地址),智商捉急的邮递员想都没想就相信了,以后就把B的来信送给了C,C当然就可以知道A和B之间聊了些什么

上面ABCG的故事就是ARP双向欺骗的原理了

ARP单向欺骗就更好理解了,C只向A发送一个返回包,告诉A:G 192.168.1.1 的MAC地址为 5c-63-bf-79-1d-fa(一个错误的mac地址),A把这个信息记录在了缓存表中,而G的缓存表不变,也就是说,A把数据包给了C,而G的包还是给A,这样就是ARP单向欺骗了。

二.arp欺骗流程详解

数据包在局域网上是怎么传输的吗?是靠什么来传输的吗?也许你会说是靠IP地址,那么你只正确了一半。其实真正在传输过程中是靠计算机的网卡地址即MAC来传输。

   现在我们就用实例来模拟一下传输的全过程。现在有一台计算机A(IP:192.168.85.1  MAC:AA-AA-AA-AA-AA-AA),另一台计算机B(IP:192.168.85.100MAC:BB-BB-BB-BB-BB-BB)现在用A去 ping B。看见 Reply from 192.168.85.100:bytes=32 time

关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0726s