ARP攻防——蜻蜓点水

来源:互联网 发布:输入网络凭据是什么 编辑:程序博客网 时间:2024/06/05 20:54

        作为网络管理员,应当拥有ARP攻防的知识,与应对攻击的技能。作为软件开发人员,要回防范ARP攻击,与处理措施。简单的说一点,请大家多多指教!


0.0 ARP协议以及工作原理


0.1 以太网的工作原理

       以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。以太网中的一台主机要传输数据时,会发送数据包,每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点。

      数据包的封装与解封示意图如下:

                                                        

0.2 ARP的工作原理

      计算机发送数据封装前,比对目标IP地址,判断是不是在一个网段。如果在同一网段,封装目标的MAC,如果不在同一网段,封装网关的MAC。封装之前,查看本机的ARP缓存,看看有没有下一跳对应的IP与MAC映射条目,如果有直接封装,没有就发送ARP查询包。

      ARP查询包格式示意图如下:


      查询包以广播形式发送到网络上,局域网内的所有计算机都会受到此包。只有本机IP地址与“目标IP”一致,此计算机才会对查询包进行响应,并且回复数据包。发送端收到数据包后,会后的IP与MAC。从而进行封装。

0.3 ARP的欺骗


      了解了以太网与ARP的工作原理,欺骗就好说了。

       ARP是一个无状态的协议,也就是说不管有没有发送ARP请求。只要往本机上发送ARP答应包,计算机就会不加检验的接受,并且更新自己的ARP缓存。


       IP冲突:本机IP地址被他人占用。


       ARP欺骗:PC2(攻击者)、 PC1(受害者)、网关三者之间

       PC2(攻击者)分别向 PC1 (受害者)与网关发送数据包,模拟成PC21(受害者)与网关的IP与物理地址信息。这样使得PC1(受害者)发送的数据包到不了网关,网关的数据包也到不了PC1 (受害者)。

       示意图如下:



       ARP攻击:与ARP欺骗类似,只要*******(此处略去一万字偷笑),就可以截获其他电脑与网关之间的所有通信包。


1.0 如何实施ARP攻击


      此处略去一万字。偷笑


2.0 如何判断正在遭受ARP攻击


      开启两个DOS窗口。一个执行步骤一,一个执行步骤二。


2.1 步骤一:在第一个DOS窗口 持续ping不能反问的IP地址

      输入:

      ping 目标IP -t ,用来测试网络的连通性

2.2 步骤二:在另一个DOS窗口 输入arp -d


       arp -d,清楚本机缓存的所有IP和MAC地址的对应。

       如果发现步骤一中的内容变成持续的“Reply from”,表示曾经遭受过ARP攻击,现在正常了。

       如果发现仅仅出现了一个“Reply from”,后面成了“Request time out”包,则表明正在不断地遭受攻击。


3.0 如何防范和解决ARP攻击

     如图示一些DOS命令的讲解:

      ARP:

              

      PING:

                

                 

3.1 方法一:arp -d 与arp -a 兄弟联手出击。

      先说arp -d 清除缓存。再说arp -a 显示该计算机上的所有ARP缓存。

      在DOS下输入命令,我们会发现几条记录,其中有一条是网关或要访问的目标主机,还有其他的记录,可能是多条。多执行几次arp -d 与arp -a,总结一下。基本上记录最多的就是ARP攻击者的IP地址。

      优点:方法简单,适用于所有网络环境。

      缺点:如果攻击者的目的是破坏而不是控制,记录可能会不可靠。


3.2 方法二:进行IP地址与MAC地址的静态绑定

      先说arp -s 添加主机并且将Internet 地址inet-addr与物理地址eth-addr相关联。永久!

      举例: arp -d  
                  arp -s IP 物理地址

      也可以用批处理文件来执行。新建一个记事本。输入@echo off,在接着输入上边的内容。生成bat文件,开机运行即可。(数量多的时候,就得用批处理了。)

      优点:小规模局域网较为适用。

      缺点: 实施难度较大,尤其是当上网主机较多时,并且主机经常变化,静态绑定的工作量就会急剧增大。太多的静态绑定也会影响机器的执行速度。执行时会发送大量数据包,占用带宽。而且这项措施需要设备支持静态绑定。


3.3 方法三:普通用户的自救

      做一个批处理文件。

      内容为:

      :a

      arp -d

      ping 1.1.1.1  -n 1 -w 100

      Goto a

      保存为a.bat。然后双击执行,程序会循环执行,不关闭窗口即可。如果消除太慢,可以将上面的 100(0.1s)改成想要的数值。此处的 -n 是要发送的回现请求数 -w是等待每次回复的超时时间(毫秒)。

       优点:适合所有网络环境,普通用户可以解决。

       缺点:频繁的发送数据包,会给计算机和网络带来额外的负担。


       就说这些吧!下次再讲其他的!



2 0