ARP欺骗教程图解

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

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

-          ARP欺骗原理:计算机通信用IP地址,在以太网中,主机传递信息用IP地址及MAC地址 (硬件地址)。主机之间知道彼此的IP地址,但不知道对方的MAC地址。在传递信息时,发送方得先问ARP找到对方的MAC地址才能发送。 ARP向局网中的所有主机广播询问接收方的MAC地址。这个询问 (ARP Request) 包含了发送方的IPMAC地址,黑客若在这个局网中,也会收到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表间的因果关系,控制时间轴,检查数据包内容等细节。

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

 

 

 

2. 初始化

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


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

 

 

 

 

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

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


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

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

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

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

 

 

 

4. 收到了ARP RequestH2 回复ARP Reply, H3 (黑客) 记录H1MAC地址

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 都收到了H2ARP Request,做出不同反应.

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

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

 

 

 

7 H3开始攻击,冒充 H1发送 ARP ReplyH2.

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


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

 

 

 

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

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


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

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

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

 

 

 

 

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

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


 

 

 

 

 

10 H2发送给H1Echo 被黑客收到, 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值