图解ARP协议(二)ARP***原理与实践51CTO博客 - 超凡娱乐

图解ARP协议(二)ARP***原理与实践51CTO博客

2019-01-03 10:40:31 | 作者: 笑天 | 标签: 原理,协议,咱们 | 浏览: 1590

一、ARP***概述

在上篇文章里,我给咱们遍及了ARP协议的根本原理,包含ARP恳求应对、数据包结构以及协议分层规范,今日咱们继续评论咱们最感兴趣的论题:ARP***原理是什么?经过ARP***能够做什么,账号是否能够被盗取?有哪些常见的ARP***(***)东西能够用来练手?ARP扫描和***有什么区别,底层数据包特征是怎样的?

接下来,咱们经过图解的办法来深化了解ARP***是怎么完成的。


二、ARP***原理

凡是局域网存在ARP***,都阐明网络存在"中间人",咱们能够用下图来解说。


在这个局域网里边,PC1、PC2、PC3三台主机一起连接到交换机SW1上面,对应3个接口port1/2/3。假定PC3这台主机安装了ARP***软件或遭受ARP病毒,成为这个网络的***者(hacker),接下来,PC3是怎么***的?先不急,先来回忆下PC1和PC2是怎么通讯的。


①PC1需求跟PC2通讯,经过ARP恳求包问询PC2的MAC地址,由于选用播送办法,所以交换机将ARP恳求包从接口P1播送到P2和PC3。(注:交换机收到播送/组播/不知道帧都会其他接口泛洪)


②PC2依据问询信息,回来ARP单播回应包;此刻PC3作为***者,没有回来ARP包,可是处于"监听"状况,为后续***做准备。


③PC1和PC2依据ARP问答,将各自的ARP映射信息(IP-MAC)存储在本地ARP缓存表。


④交换机依据其学习机制,记载MAC地址对应的接口信息,存储在CAM缓存表(也称为MAC地址表)。交换机收到数据包时,会解封装数据包,依据方针MAC字段进行转发。


关于上面的图解,咱们要记住这些要害常识(敲黑板!):

①主机通讯需求查找ARP表,而交换机通讯需求查找CAM表(路由器则查找Route表)。

注:ARP表:ip<->mac    CAM表:mac<->port  (Route表:route<->port)

②交换机依据源MAC地址学习,依据意图MAC地址转发。

③同一局域网内,***者能够依据主机的ARP播送恳求监听其IP和MAC信息。

注:这儿是"被迫监听",跟后边要谈到的"自动扫描",原理上有区别,这儿先埋个坑)


接下来是要点,咱们来看看PC3(Hacker)是怎么建议ARP***的=>

正常状况下,若收到的ARP恳求不是给自己的,则直接丢掉;而这儿PC3(Hacker)在监听之后,建议了ARP回应包:我就是PC2(IP2-MAC3)。


从拓扑能够呈现,PC3分明是IP3对应MAC3,很明显这就是一个ARP诈骗行为。于此一起,PC2正常的ARP回应包也交到了PC1手中,咱们来看PC1接下来怎么处理的:


PC1收到两个ARP回应包,内容别离如下:

③我是PC2,我的IP地址是IP2,我的MAC地址是MAC2;

③我是PC2,我的IP地址是IP2,我的MAC地址是MAC3;

PC1一脸懵:咋回事?还有这操作?不管了,我选最新的!(后到优先)

这儿给咱们趁便遍及下网络协议里各种表在处理缓存信息的办法:

要么"先到先得",要么"后到优先"。上面说到的ARP和CAM表,就是遵从"后到优先"准则,而后边章节咱们会讲到的DHCP表,则遵从"先到先得"准则。


那么问题来了,上面两个ARP回应包究竟哪个先到哪个后到呢?

作为初学者,或许还在纠结前后这种naive的问题;而作为hacker,只需继续不断宣布ARP诈骗包,就必定能够掩盖掉正常的ARP回应包。稳健的ARP嗅探/***东西,能在短时间内高并发做网络扫描(例如1秒钟成千上百的数据包),能够继续对外发送诈骗包。


无论怎么,当PC1和PC2这种"小白"用户遇到PC3(hacker)时,终究的成果必定是这样的:


小白 vs ***,很明显的比赛,PC1终究记载的是虚伪的ARP映射:IP2<->MAC3,得到过错信息的PC1,接下来会发作什么状况呢?(咱们以PC1 ping PC2为例)


依据数据封装规矩,当PC1要跟PC2进行通讯时,无论是发作PING包仍是发送其他数据,首先要查找ARP表,然后在网络层打上源目IP,在链路层打上源目MAC,然后将数据包发送给交换机。交换机收到之后对数据进行解封装,而且检查CAM表(依据意图MAC转发),由于方针MAC3对应Port3,所以交换机自然而然将其转发给PC3。


就这样,PC1原本要发给PC2的数据包,落到了PC3(Hacker)手里,这就完成了一次完好的ARP***。反过来,假如PC2要将数据包发送给PC1,PC3依然能够以相同的ARP诈骗完成***,这就有了下面这张图(PC3既诈骗了PC1,也诈骗了PC2)。

此刻,PC1和PC2的通讯数据流被PC3阻拦,形成了典型的"中间人***"。那么,一旦被***并阻拦,***者能做什么,普通用户又会遭受什么丢失?这儿给咱们举几个常见的比如=>


①***者已然操控了数据流,那么直接断开通讯是垂手可得的,即"断网***",例如,PC1发给PC2的数据在PC3这儿能够直接丢掉,而假如这儿的PC2是一台出口路由器(无线路由器),那就意味着PC1直接无法连上互联网。


②"断网***"明显简略被发现,而且比较"残暴",所以就有了愈加常见的运用-"限速"。例如,在宿舍上网俄然很慢,在网吧上网俄然打不开网页,假如这个网络没有安全防护,那么很有或许有"内鬼"。


③其实无论是"断网***"仍是"限速",全体仍是比较"仁慈",由于这儿流量里边的中心数据还没有被"提取"出来。假如***者是一名实在的***,他的意图必定不会这么无聊,由于内网流量关于***是没有太大价值的,而只要"用户隐私",例如常见网站的登录账号暗码,这些才是最有价值的。


问:遭受ARP***之后,哪些账号或许被盗取?

答:任何依据明文传输的运用,都能够被盗取。例如,假如一个网站不是HTTPS协议,而是依据HTTP明文传输,那么当你登录这个网站时,你的暗码就会被盗取。除了http(web运用),常见的还有telnet、ftp、pop3/smtp/imap(邮箱)等运用,都很简略走漏暗码。


三、常见ARP***东西与底层原理剖析

依据ARP诈骗原理规划出来的***/***东西十分多,而终究能完成什么功用则各有差异,简略举几个比如:


①无毒无害型的仅具有ARP扫描功用,用来发现内网主机;例如Metasploit里边的arping/arpscan相关模块;


②ARP扫描+流量操控(限速或约束能上哪些网站和运用);例如Windows下的P2P终结者;


③ARP扫描+账号盗取(网站、邮箱、各种);最强的莫过于Windows下的Cain,当然还有跨渠道的Ettercap(需合作其他东西);


当然,假如***者满足强悍,也能够依据协议底层原理,编写自己的ARP东西。这儿我经过wirehshark给咱们复原实在网络中常见的ARP扫描和诈骗***(详细的软件运用这儿暂时不呈现,咱们要点重视底层完成)。


在这张图里边,Hacker(就是我...)接入了一个WiFi网络,这个10.1.20.0/24就是地点的网段。刚进来一个生疏网络,Hacker只知道自己的IP信息,例如IP地址是10.1.20.253,网关地址是10.1.20.254,而这个局域网的其他设备是什么?有多少台?地址散布是多少?Hacker都不知道,接下来怎么办呢?是不是要直接发起ARP***了?


不必这么着急,咋们至少要先了解下这个网络,进行根本的扫描和踩点。这个时分经过ARP东西对这个WiFi网络进行扫描,详细的数据包截图如下:


上面的ARP扫描进程,大约的状况是这样的=>

其实,这就是典型的"盲扫"或许"暴力扫描":横竖我不知道网络究竟有多少主机,那我就测验一下把整个网段悉数问一遍得了。比如老师上课点名,把每个学生的桌位号念一遍,谁举手就到勤,没举手就算逃课。


那么,这个实践网络里边,究竟谁"举手"了呢?咱们来看Wireshark抓包状况。



在ARP应对信息里边,除了IP地址和MAC信息,咱们还能看到相关的设备厂商信息,例如cisco、meizu、apple、xiaomi等,这其实就是依托MAC地址前面24位的OUI(组织仅有标识符)来辨认的。


Wireshark或扫描器能够帮咱们将OUI转为对应的厂商(还有一些扫描器依据Netbios协议,还能找到电脑的主机名),所以,扫描之后能够得到下面这张图片=>

经过扫描,咱们现已知道了整个网络的主机信息,例如20.254对应cisco,应该是路由器,20.248对应apple,是苹果手机,20.249对应xiaomi,是小米手机,以此类推.....


接下来,怎么进行ARP诈骗***呢?这儿将最要点的数据包截取出来=>


依据之前的信息,咱们知道00:08:ca:86:f8:0f其实就是hacker的mac地址,而且对应的实在的IP地址应该是10.1.20.253。而这儿很明显是hacker在诈骗局域网其他主机,它对外宣称:自己就是"一切人"。尤其是上面标红的主机,咱们现已知道是小米、思科、苹果等设备,可是hacker都声明是自己!这样做的含义在于掩盖掉其他主机的ARP缓存表信息,并生成过错的ARP映射,终究将通讯流量交给hacker。


当然,还有别的一种ARP诈骗的做法:hacker通知一切人,自己就是网关。由于其他主机拜访互联网必经之路就是网关(出口路由器/无线路由器),经过这种办法,相同能够截取到用户数据流,这儿给出别的一个网络的完成进程=>


Hacker诈骗主机Honhai,通知它:我就是网关(10.1.1.254)


Hacker诈骗主机Apple,通知它:我就是网关(10.1.1.254)


依此类推,Hacker会通知局域网一切主机:自己就是网关,而且后续能够把数据都丢给我,我来转发到互联网。


四、ARP***总结

①ARP缓存表依据"后到优先"准则,IP与MAC的映射信息能被掩盖;

②ARP***依据假造的ARP回应包,***经过结构"错位"的IP和MAC映射,掩盖主机的ARP表(也被称为"ARP毒化"),终究截取用户的数据流;

③一旦遭受ARP***,账号暗码都或许被盗取(假如通讯协议不是加密的);

④经过Wireshark数据包剖析,咱们把握了实在网络中ARP底层***原理及数据包组成。


预告:ARP防护篇

怎么防护ARP***?

有哪些ARP防护软件?

假如被ARP***了,怎么揪出"内鬼",应该怎么"还手"?

企业网/家庭网的防护办法有什么区别?



引荐课程:《TCP/IP协议栈精讲》

新浪微博:@拼客学院陈鑫杰

微信大众号:拼客院长陈鑫杰

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章