2014/10/04

关于ARP欺骗

本文科普一下ARP欺骗的一些知识,顺便教你怎样优雅的ARP欺骗。
1.什么是ARP欺骗

来自wikipedia上的解释是这样子的:
       ARP欺骗英语:ARP spoofing),又称ARP病毒ARP poisoning)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。此种攻击可让攻击者取得局域网上的数据数据包甚至可篡改数据包,且可让网络上特定电脑或所有电脑无法正常连接。
ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网络上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的 地方。因此攻击者可将这些流量另行转送到真正的闸道(被动式数据包嗅探,passive sniffing)或是篡改后再转送(中间人攻击,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。
         例如某一网络闸道的IP地址是192.168.0.254,其MAC地址为00-11-22-33-44-55,网络上的电脑内ARP表会有这一笔ARP记录。攻击者发动攻击时,会大量发出已将192.168.0.254的MAC地址篡改为00-55-44-33-22-11的ARP数据包。那么网络上的电脑若将此伪造的ARP写入自身的ARP表后,电脑若要通过网络闸道连到其他电脑时,数据包将被导到00-55-44-33-22-11这个MAC地址,因此攻击者可从此MAC地址截收到数据包,可篡改后再送回真正的闸道,或是什么也不做,让网络无法连接。

 我的理解是这样的:
    我和小明在同一个局域网下,我对小明进行了arp欺骗,小明的数据就会到我的电脑上来。
   首先我的电脑要把数据转发的功能打开,让小明的数据到我这里来以后,我还能给他发出去,也就是让小明能够正常上网,要不然小明就会生气。
    在局域网内,网关是通过MAC地址识别电脑的,所以我就给网关发送消息,谎称我的mac地址是小明的mac地址,然后网关就会把小明的数据包发送给我,与此同时,我还要跟小明的电脑说,我的mac地址是网关的mac地址,你的数据包要发送给我,这样小明的数据也就流到我这里来了,我作为中间人,当然是有权利去查看这些数据的(要不然我攻击个毛)。
   然后问题就来了,学挖掘机到底哪家强?

2.怎样进行ARP欺骗

 作为一个纯粹的开源软件爱好者和Ubuntu爱好者,我的一切操作都是在linux下进行的。
$sudo    arpspoof    -t    目标ip    网关ip

$sudo    arpspoof    -t    网关ip    目标ip

$sudo    echo 1 >>/proc/sys/net/ipv4/ip_forward
具体解释如下:
第一句是让目标ip的mac地址指向本机ip,也就是网`让网关知道,目标ip的mac地址换了,换成我的了。
第二句是让网关知道,目标ip的mac地址是本机的mac地址。
第三句是在本地实现转发功能。

这样就实现了让目标电脑的流量流经本机了。
然后在用wireshark抓个包啥的,我就不多说了。

3.附注

本人才疏学浅,记性还不好,记不住这么多命令。于是就从网上找了个软件,一键搞定了。
ettercap
 这个软件就是个好东西了,用鼠标就能搞定一切,包括但不限于探测内网下所有主机,端口转发,流量监控。
有需要的同学可以自行google。

最后,我要是说不能做坏事的话,那我就天真了,只是希望大家能做坏事做的优雅一些,别违背道德。

转载请注明出处,谢谢合作。

没有评论:

发表评论