论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机网络论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
基于ETHERNET的网络监听以及ARP欺骗

1 引 言

网络监听,亦称为网络嗅探,是利用计算机的网络接口监视并查看网络中传输的数据包的一种技术。它工作在网络的底层,能够把网络中传输的全部数据记录下来。监听器(sniffer)不仅可以帮助网络管理员查找网络漏洞和检测网络性能,还可以分析网络的流量,以便找出网络中存在的潜在问题。不同传输介质的网络,其可监听性是不同的。但一般说来,以太网、fdditoken、微波和无线网络都有很高的可能性被监听。实际应用中的sniffer分软、硬两种。软件监听器便宜,易于使用,缺点是往往无法抓取网络上所有的传输数据(比如碎片),也就可能无法全面了解网络的故障和运行情况;硬件监听器通常称为协议分析仪,它的优点恰恰是软件监听器所欠缺的,但是价格昂贵。目前主要使用的是软件监听器代写论文。

2 网络监听的原理

在以太网中,所有的通讯都是“广播”式的,也就是说通常同一个网段的所有网络接口都可以访问在信道上传输的所有数据。在一个实际系统中,数据的收发是由网卡来完成,每个网卡都有一个唯一的mac地址。网卡接收到传输来的数据以后,网卡内的单片程序检查数据帧的目的mac地址,根据计算机上的网卡驱动程序设置的接收模式来判断该不该接收该帧。若认为应该接收,则接收后产生中断信号通知cpu,若认为不该接收则丢弃不管。正常情况下,网卡应该只是接收发往自身的数据包,或者广播和组播报文,对不属于自己的报文则不予响应。可如果网卡处于混杂模式,那么它就能接收一切流经它的数据,而不管该数据帧的目的地址是否是该网卡。WWw.11665.cOm因此,只要将网卡设置成混杂模式(promiscuous),那么它就可以捕获网络上所有的报文和帧,这样也就达到了网络监听的目的。由此可见,网络监听必须要满足两个条件:

①网络上的通讯是广播型的。

②网卡应设置为混杂模式。这在传统的以太网中是满足的。因为传统的以太网是共享型的,所有的主机都连接到hub,而hub对数据包的传输形式是广播。这意味着发给某个主机的数据包也会被其它所有主机的网卡所收到。因此在这样的环境中,任何设置成混杂模式的主机,都可以捕获发送给其它主机的数据包,从而窃听网络上的所有通信。可如今,随着交换机的广泛使用,更多的以太网是属于交换型的。所有的主机都连接到switch,对于发给某个特定主机的数据包会被switch从特定的端口送出,而不是像hub那样,广播给网络上所有的机器。这种传输形式使得交换型以太网的性能大大提高,但同时也破坏了网络监听的第一个前提条件,使得上文中所述的传统网络监听器无法工作。因此,在交换网络中进行网络监听面临的一个主要问题就是:如何使本不应到达的数据包到达本网段。通常的解决方法主要有两种,一种是arp欺骗(arp spoof),另一种就是mac水包(mac flooding)。其中mac flooding就是指向交换机发送大量含有虚假mac地址和ip地址的ip包,从而使得交换机内部的地址表“溢出”,进入所谓的“打开失效”模式,迫使switch以类似于hub的广播方式工作,向网络上所有的机器广播数据包。本文将要详细分析arp欺骗模式。

3 arp欺骗

3. 1 arp(addressresolution protocol)的工作机制在以太网中传输的数据包是以太包,而以太包是依据其首部的mac地址来进行寻址的。发送方必须知道目的主机的mac地址才能向其发送数据。arp协议的作用就在于把逻辑地址转换成物理地址,也即是把32bit的ip地址变换成48bit的以太网地址。为避免频繁发送arp包进行寻址,每台主机都有一个arp高速缓存,其中记录了最近一段时间内其它ip地址与其mac地址的对应关系。如果本机想与某台主机通信,则首先在arp缓存中查找这台主机的ip和mac信息,若存在,则直接利用此mac地址构造以太包;若不存在,则向网络上广播一个arp请求包。目的主机收到此请求包后,发送一个arp应答包。本机收到此应答包后,把相关信息记录在arp高速缓存中,然后再进行发送。由此可见,arp协议是有缺陷的。一台恶意的主机可以构造一个arp欺骗包,而源主机却无法分辨真假。

3.2 相关协议的帧格式为了论述的简洁性,文中我们对以太网中arp帧格式做如

3. 3 arp spoof原理

实验环境如下图所示:在这个交换网络中有四台pc,其中hostd试图进行arp欺骗来监听hosta的数据流。假设主机a要与主机b通信,但a在其arp缓存中没有找到有关主机b的mac信息。于是,主机a发出arp请求包:正常情况下,主机b回应一个arp应答包:但同时,主机d也监听到了arp请求包,随后它也发出了一个伪造的arp应答包:

这样,主机a就收到了两个arp应答包,一个来自主机b,一个来自主机d。当a收到主机b的arp应答包后的一段时间,其arp表确实会正确记录着b的ip-to-mac mapping表项。但随后,它收到了d的arp包,并且它也仍然认为这是正确的。于是,它修改自己缓存中的arp表。此后,若a向b发送数据,则数据实际上是流向d。同理,主机d也可以对主机b进行欺骗,使流向a的数据流向d,并且启用自己的数据转发功能,充当man-in-middle,这样,主机d就达到了监听主机a通讯的目的。

3. 4 程序处理流程

下面给出了程序的处理流程。

(1)获取目的主机a的ip,并将它和本机ip、本机mac地

址分别保存到dst_ip, own_ip, own_mac中。

(2)向主机a发出正常的arp请求包,以得到dst_mac。

(3)初始化数据链路,将nic置为promiscuous模式。

(4)进入主循环,开始监听数据包,置flag=0。

(5)取出一个包,检查是否是ethernet类型的arp包,若不是,转步骤(10)。再比较发送端ip地址或接收端ip地址是否等于own_ip,若是,转步骤(10)。否则继续。

(6)检查发送端ip地址,若等于dst_ip,则置flag=1,记录下接收端ip地址sec_ip,然后向此接收端(主机b)发出正常的arp请求包,以得到sec_mac。

(7)若flag=0,检查接收端ip地址,若等于dst_ ip,则置flag=-1,记录下发送端ip地址sec_ip,以及发送端mac地址sec_mac。

(8)若flag=1,则用dst_ip, dst_mac, sec_ip, own_mac伪造针对主机a的arp应答包,生成一个ethernet报头,将其发送出去。接着,用sec_ip, sec_mac, dst_ip, own_mac伪造针对主机b的arp包,并将此arp包中可选域置为空,生成一个ethernet报头,将其发送出去。

(9)若flag=-1,则用sec_ip, sec_mac, dst_ip, own_mac伪造针对主机b的arp应答包,生成一个ethernet报头,将其发送出去。接着,用dst_ip, dst_mac, sec_ip, own_mac伪造针对主机a的arp包,并将此arp包中可选域置为空,生成一个eth-ernet报头,将其发送出去。

(10)转入步骤(4),继续监听数据包。对此流程,有以下几点需要补充说明:·为了能让主机a和b正常通信,应在运行此程序之前打

开主机d上的数据转发功能。·因为是在交换网络中,所以只能监听到arp请求包,而

3. 5 程序结果分析

本程序在交换网络中能够很好的完成欺骗的任务,让本不应到达的数据包到达本网段,从而使得在交换网络中进行网络监听成为可能。从中我们也可以看出,许多传统的网络协议的实现都是建立一种非常友好的,通信双方充分信任的基础之上。这样,就给了很多别有用心的网络使用者一些可乘之机。为此,在这里也想根据我们的实践经验对如何防范交换网络中的监听提出一些参考意见。第一,使用静态arp表。从我们的实验可以看出,如果目的主机a采用的是静态arp表,则我们所做的欺骗就会失效。因此,在网络结构比较固定,网络规模比较小的情况下,我们可以在重要的主机或工作站上通过设置静态arp表的方法来防

止网络监听。

第二,会话加密。我们不应把网络安全信任关系建立在ip地址或硬件mac地址的基础上。而是应该对所传输的重要数据事先进行加密,再开始传输。这样,即使我们传输的数据被恶意主机监听到,它也无法获取切实有用的信息。

第三,主动地检测网络嗅探器。上面的两种方法都是比较被动的方法,我们也可以主动出击,来检查网络中是否存在网络嗅探器。

·对arp包进行检查,看是否经常出现类似的arp请求。这可以借鉴网络的异常检测方法。通过建立异常检测模型,来对网络上的arp请求包进行实时的监测分析。·通过测量网络和主机的响应时间,网络通讯的丢包率,以及网络带宽来看是否出现了反常。

4 结 论

本文介绍了网络监听的基本原理,并特别针对如何在交换网络的环境中的监听进行了详细讨论。由此,可以发现arp协议的一些漏洞,并针对这些漏洞进行了arp欺骗的实验。实验结果表明,将传统的集线器升级为交换机,虽然能够增加网络监听的难度,但仍然无法防止监听。因此,交换网络也不是安全的。最后,我们针对这种情况,提出了提高交换网络安全的一些建议。

 

[1]毛碧波、孙玉芳,“角色访问控制”,《计算机科学》, 2003·1, 121~123·

[2]宋志敏等,“数据库安全的研究与进展”,《计算机工程与应用》,2001·1, 85~87·

[3]魏洪涛等,“基于web的管理信息系统的安全模型设计”,《计算机应用》, 2003·5, 77~80·

  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:未知 [标签: 网络 欺骗 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    课堂教学中的讨论现象—基于群体动力学理论
    基于远程虚拟数字电路实验仿真技术的研究
    基于Si4432的散射式大气低能见度仪设计
    基于AT89C2051倒车防撞超声波报警系统设计
    基于ARM控制的1KW零电压零电流全桥DC/DC变换
    从语法衔接角度分析CET—4听力预测和推理策
    基于AHP的特殊电梯开发项目风险评价
    电网运行基于精细化管理的方式探讨
    基于公平视角的买方垄断市场信任机制实证研
    论基于Intranet技术的计算机通信网络的即时
    中国区域消费价格水平差异研究:基于面板门
    基于项目驱动模式下的“软件工程”教学改革
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有