zoukankan      html  css  js  c++  java
  • 如何嗅闻交换网络和ARP骗子-ARP解释的原则

    在嗅探以太网(一般指嗅探器可以对流经的网络数据包窃听)(sniff)不为网络安全是好事,虽然网络管理员能够跟踪数据包,发现 互联网问题,但前提是,如果破坏者使用。在整个网络带来了严重的安全威胁。

    至于嗅探(一般指嗅探器可以对流经的网络数据包窃听
      
    以太网内的嗅探(一般指嗅探器可以窃听网络上流经的数据包)(sniff)对于网络安全来说并非什么好事。尽管对于网络管理员可以跟踪数据包而且发现

      网络问题,可是假设被破坏者利用的话,就对整个网络构成严重的安全威胁。至于嗅探(一般指嗅探器能够窃听网络上流经的数据包)的优点和坏处就不罗嗦了。

      ARP缓存表

      如果这样一个网络:

      ――――――――――

      | HUB |

      ――――――――――

      | | |

      | | |

      | | |

      HostA HostB HostC

      当中

      A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA

      B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB

      C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC

      如果B是属于一个嗅探(一般指嗅探器能够窃听网络上流经的数据包)爱好者的,比方A机器的ARP缓存:

      C:>arp -a

      Interface: 192.168.10.1 on Interface 0x1000003

      Internet Address Physical Address Type

      192.168.10.3 CC-CC-CC-CC-CC-CC dynamic

      这是192.168.10.1机器上的ARP缓存表,如果。A进行一次ping 192.168.10.3操作。PING主机C,会查询本地的

      ARP缓存表,找到C的IP地址的MAC地址。那么就会进行传输数据,目的地就是C 的MAC地址。假设A中没有C的ARP记

      录。那么A首先要广播一次ARP请求。当C接收到A 的请求后就发送一个应答,应答中包括有C的MAC地址,然后A接

      收到C的应答。就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。

      因此,本地快速缓存的这个ARP表是本地网络流通的基础,并且这个缓存是动态的。

      集线器网络(Hub-Based)

      非常多网络都是用Hub进行连接的。

    数据包经过Hub传输到其它计算机的时候,Hub仅仅是简单地把这个数据包广播

      到Hub的全部port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的)上。

      这就是上面举例中的一种网络结构。

      如今A须要发送TCP数据包给C。首先,A须要检查本地的ARP 缓存表。查看是否有IP为192.168.10.3即C的ARP记

      录。假设没有那么A将要广播一个ARP请求。当C接收到这个请求后,就作出应答。然后A更新自己的ARP缓存表。并

      且获得与C的IP相相应的MAC地址。这时就传输这个TCP数据包,Ethernet帧中就包括了C的MAC地址。当数据包传输

      到HUB的时候,HUB直接把整个数据包广播到全部的port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的),然后C就行接收到A发送的数据包。

      正由于HUB把数据广播到全部的port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的),所以计算机B也可以收到A发送给C的数据包。这正是达到了B嗅探的目的。

      因此,Hub-Based的网络基本没有安全可言。嗅探(一般指嗅探器能够窃听网络上流经的数据包)在这种网络中很easy。

      交换网络(Switched Lan)

      交换机用来取代HUB,正是为了可以解决HUB的几个安全问题,当中就是可以来解决嗅探(一般指嗅探器可以窃听网络上流经的数据包)问题。Switch不是把数

      据包进行port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的)广播。它将通过自己的ARP缓存来决定数据包传输到那个port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的)上。因此。在交换网络上。假设把上面

      样例中的HUB换为Switch,B就不会接收到A发送给C的数据包。即便设置网卡为混杂模式。也不能进行嗅探(一般指嗅探器能够窃听网络上流经的数据包)。

      ARP欺骗( ARP spoofing)

      ARP协议并不仅仅在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存

      进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此。在上面的如果网络中,B向A发送一个自己伪造的ARP应

      答。而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址)。MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地

      址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不

      知道被伪造了)。

      如今A机器的ARP缓存更新了:

      C:>arp -a

      Interface: 192.168.10.1 on Interface 0x1000003

      Internet Address Physical Address Type

      192.168.10.3 DD-DD-DD-DD-DD-DD dynamic

      这可不是小事。

    局域网的网络流通可不是依据IP地址进行。而是依照MAC地址进行传输。如今192.168.10.3的

      MAC地址在A上被改变成一个本不存在的MAC地址。

    如今A開始Ping 192.168.10.3,网卡递交的MAC地址是

      DD-DD-DD-DD-DD-DD。结果是什么呢?网络不通。A根本不能Ping通C!!

      这就是一个简单ARP骗子。

    本文来源于 中国的网络协议分析|www.cnpaf.net 原文链接:http://www.cnpaf.net/Class/arp/201111/26040.html

  • 相关阅读:
    SkylineGlobe for web开发是否支持IE11?
    OGC标准服务 WMS WCS WFS WPS
    SkylineGlobe TerraExplorer Pro 遇到模型显示有锯齿怎么办?
    SkylineGlobe TerraExplorer Pro 7.0 Web 控件版 第一行示例代码
    Cesium3DTileset示例
    Win7 64位系统,IE11,如何让IE的Tab强制运行64位内核?
    SkylineGlobe系列软件对机器配置要求
    VS 2015 搭建Google Test
    7种排序算法的c++实现
    哈希表应用实例
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4805520.html
Copyright © 2011-2022 走看看