首页 > 学院 > 开发设计 > 正文

ARP欺骗教程图解

2019-11-06 09:19:10
字体:
来源:转载
供稿:网友

这个ARP欺骗案例用最简单的拓扑、场景来显示黑客作案的方式、过程。案例有两个版本:仿真、图解。图解版本,从仿真截图,并加标注,说明主要步骤的关键。

         背景:计算机经互联网相连而传递信息,信息标明发送行、接收方的ip地址,而具体的传送是经过链路而实现的。若两个计算机都在同一个局网内,发送方还需要知道接收方的MAC地址(硬件地址)。如果发送方不知道接收方的MAC地址, 就无法发送信息,得问ARP 。ARP会在局网里向所有的计算机广播:你的地址是这个接收方的地址吗?如果是,请告诉我你的MAC地址。用电话来比喻,IP地址是姓名, MAC是电话号码, ARP是查号台。

         ARP欺骗原理:计算机通信用IP地址,在以太网中,主机传递信息用IP地址及MAC地址 (硬件地址)。主机之间知道彼此的IP地址,但不知道对方的MAC地址。在传递信息时,发送方得先问ARP找到对方的MAC地址才能发送。 ARP向局网中的所有主机广播询问接收方的MAC地址。这个询问 (ARP Request) 包含了发送方的IP、MAC地址,黑客若在这个局网中,也会收到ARP Request, 而得知发送方的地址。 从偷听各个主机所发送的ARP Request, 黑客知道了它们的的MAC地址,就可以冒充别的主机,进行欺骗活动,截取数据包。这段说明有些抽象、拗口,看下面的图解能更清楚些。

         预备知识:MAC地址, 交换机洪泛、转发,ARP。见参考资料

 

 

1. 拓扑:在一个局网里,有三台主机H1, H2, H3 连接到一个交换机 S1, 它们的MAC地址分别为 MAC.H1, MAC.H2, MAC.Attacker (H3是黑客) 。

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

这个拓扑是从ARP Spoofing仿真截图而来,仿真用动画显示ARP Spoofing 仿真的过程,用户可以观察数据包-ARP表-MAC表间的因果关系,控制时间轴,检查数据包内容等细节。

         拓扑中的地址以 <地址类别>.<主机> 表示。例:H1的IP地址是IP.H1, H1的 MAC地址是 MAC.H1。

 

 

 

2. 初始化

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

初始化时,主机的ARP表里只有自己的MAC地址,不知道其它主机的MAC。交换机S1的MAC表也是空的。

 

 

 

 

3. H1 发送ARP Request查询 H2的 MAC地址

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

         H1 要知道H2是否在线,就ping H2。但不知道H2的MAC地址,不能发送ping, H1就洪泛ARP Request向局域网查询H2的MAC地址.

         截图中H1的ARP表增添一个条目(IP.H2, Incomplete), 意思是H1正在查询H2的MAC.

         若运行ARP Spoofing仿真,用户可以点击ARP Request, 查看报文 (target mac为0,表示H1不知道H2的MAC地址),Link报头 ( Destination MAC设置为0xFFFFFFFF, 表示这是一个广播包).

交换机S1收到ARP Request时, 因为它是广播包所以将其洪泛。

 

 

 

4. 收到了ARP Request,H2 回复ARP Reply, H3 (黑客) 记录H1的MAC地址

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

主机收到 ARP Request后有两种反应:不更新ARP表,更新ARP表, 记录方式方的MAC地址 (把ARP Request 报文里的 sender ip, sender mac添加到 ARP表)。多数ARP软件不更新 ARP表, 这是H2的做法,

但黑客一定会把发送行的地址记录到ARP表。

 

 

 

5. H1  ping H2. H2 收到Ping, 要回复Echo, 但不知道H1的 MAC, 得发送ARP Request查询。

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

H1收到了H2的 ARP Reply后,更新ARP表,(IP.H2, Incomplete)  变成 (IP.H2, MAC.H2), 并再ping H2.

H2收到ping后, 要发送Echo回复, 但不知道H1的 MAC, 就发送ARP Request (ARP Req2) 查询。

ARP Request 被交换机洪泛,送往H1, H3.

 

 

 

6. H1, H3 都收到了H2的ARP Request,做出不同反应.

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

H1, H3收到H2的ARP Request,做出不同的反应:H1发送ARP Reply回复H2,H3把H2的地址记录到ARP表。

 

 

 

7. H3开始攻击,冒充 H1发送 ARP Reply给H2.

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

黑客冒充H1发送一个ARP Reply给H2, 在ARP Reply的报文中,把sender ip设为IP.H1 (H1的IP), sender mac 设为自己的MAC. 这样,下次H2要发送数据包给H1时,会被H3收到,而不是H1. 这是因为在局网中传送是根据Link报头的目的MAC地址。同时, H1若换了一个网卡,就会发送 ARP Reply通知自己的MAC地址改变,H2收到这样的ARP Reply, 也不以为怪。

 

 

 

8. H2 上当,把H1的MAC地址篡改为黑客的MAC地址。

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

H2 刚收到H1的ARP Reply, 把ARP表的条目(IP.H1, Incomplete)改为 (IP.H1, MAC.H1)。

H2 马上又收到H3的ARP Reply, 把ARP表的条目(IP.H1, MAC.H1)改为 (IP.H1, MAC.HAttacker)。

【注】若操作仿真,用户可以看到两个 ARP Reply对H2 ARP表的连续改变。

 

 

 

 

9.  H1 再 ping H2. H2回复Echo ,用的MAC目的地址是黑客的,不是H1的。

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

 

 

 

 

 

10. H2发送给H1的Echo 被黑客收到, H1, H2毫不知情。

ARP欺骗教程图解 <wbr> <wbr>(案例、过程、分析,并有配套的仿真链接)

黑客得逞了。 H2发送给H1的数据包,都给黑客收到了。这个案是Ping/Echo, 在实际情况,可能是机密信息或银行交易。

黑客收到H2的数据包后,可以记录后再转发给H1, 而H1, H2并不知道这个数据包已被黑客偷听过。黑客也可以把数据包篡改后再转发给H1,收到H1得到错误的信息。

【注】最后一步交换机根据 Echo的目的MAC地址把Echo转发到H3, 与交换机原理有关,若不熟悉,见参考资料、

 

参考资料:

[a] ARP

Visualland ARP仿真目录 (Overview)

ARP入门,见ARP basic 仿真 http://www.visualland.net/view.php?cid=857&PRotocol=ARP&title=1. Basic-update 

谢希仁 计算机网络第五版 4.2.4 地址解析协议ARP

RFC 826 http://www.faqs.org/rfcs/rfc826.html

[b] MAC 地址: LAN overview

谢希仁 计算机网络第五版 3.4.3 MAC层

Wikipedia MAC address http://en.wikipedia.org/wiki/MAC_address

百度百科 MAC地址 http://baike.baidu.com/view/69334.htm

[c] 交换机怎么转发、洪泛数据包,发现新地址。

VisuallandSwitch 仿真目录,  Switching and flooding 仿真 , MAC discovery 仿真

谢希仁 计算机网络第五版 3.5.2 在数据链路层扩展以太网

Wikipedia: Network Switch. http://en.wikipedia.org/wiki/Network_switch


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表