在嗅探以太网(一般指嗅探器可以对流经的网络数据包窃听)(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

如何嗅闻交换网络和ARP骗子-ARP解释的原则的更多相关文章

  1. ARP/代理ARP

    1.ARP首先讲到ARP,ARP是地址解析协议,它的作用是在以太网环境下,通过3层的IP地址来找寻2层的MAC地址,得到一张ARP缓存表.转发数据的时候根据ARP缓存表来进行传输.下图详细说明数据传输 ...

  2. ARP协议具体解释之Gratuitous ARP(免费ARP)

    ARP协议具体解释之Gratuitous ARP(免费ARP) Gratuitous ARP(免费ARP) Gratuitous ARP也称为免费ARP.无故ARP.Gratuitous ARP不同于 ...

  3. 【转】busybox分析——arp设置ARP缓存表中的mac地址

    [转]busybox分析——arp设置ARP缓存表中的mac地址 转自:http://blog.chinaunix.net/uid-26009923-id-5098083.html 1. 将arp缓存 ...

  4. ARP协议具体解释之ARP动态与静态条目的生命周期

    ARP协议详细解释之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自己主动加入和删除. q  每一个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉 ...

  5. Linux 命令 - arp: 操作系统的 ARP 缓存

    arp 命令可以查看 ARP 缓存或者手动添加.删除缓存中的条目. 命令格式 arp [-evn] [-H type] [-i if] -a [hostname] arp [-v] [-i if] - ...

  6. ICMP,ARP协议

    ICMP ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制 ...

  7. arp协议简单介绍

    1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供 ...

  8. Python黑帽编程 3.1 ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  9. Python黑客编程ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

随机推荐

  1. HTML5游戏开发进阶指南

    <HTML5游戏开发进阶指南> 基本信息 作者: (印)香卡(Shankar,A.R.)    译者: 谢光磊 出版社:电子工业出版社 ISBN:9787121212260 上架时间:20 ...

  2. EF 分离实体

    具体步骤: 新建测试项目:如图 其中Respository和Model层均为类库项目, 1.在Respository层添加ADO.NET实体数据模型, 2.复制Model.tt文件到Model层,这是 ...

  3. SO_REUSEADDR 套接字选项应用

    在网络上的SO_REUSEADDR套接字选项是用来解决地址问题重用了大量的信息.但仅仅停留在文字的表达.并没有实例,非常easy误导谁刚开始学习,和不解,此处不再赘述. 的使用该选项,以及须要注意的问 ...

  4. Android-它们的定义Notification

    Android-它们的定义Notification 2014年4月26日  消息栏的消息,想必各位Android发烧友非常清楚知道是什么,比方我们下载了一个应用,它可能会定时推送些消息到我们的手机中. ...

  5. Java--调试--单步调试,断言,单元测试

    单步调试:主要查看变量内容的变化    1.设置断点位置,设置在可能出现问题的代码 2.以Debug as方式运行 程序 3.F5 --> step into 进入方法内部进行调试    F6 ...

  6. 黄聪:Microsoft Enterprise Library 5.0 系列教程(一) : Caching Application Block (初级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(一) : Caching Application Block (初级) 本篇文章具体官方解释请参照以下链接: h ...

  7. HTTP/1.1

    HTTP真的很简单   原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! ...

  8. Windows Phone开发(10):常用控件(上)

    原文:Windows Phone开发(10):常用控件(上) Windows Phone的控件有几个来源,和传统的桌面应用程序开发或Web开发一样,有默认提供的控件和第三方开者发布的控件.一般而言,如 ...

  9. AMD宣布裁员7% 约710员工将失去工作

    10 月 17 日.美国芯片生产商 AMD 周四宣布将裁员7%.并公布了不及预期的第四季度业绩展望.这将是 AMD 自 2011 年以来的第三轮大裁员. 就在一周之前,AMD 宣布罗瑞德(Rory R ...

  10. HPUX平台经常使用命令列举

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...