陈伟坚
摘要:该文主要讲述了网卡的工作原理和Sniffer工作过程基本步骤,交换机的工作原理和网络监听的检测、网络监听的防范措施,对于网络管理员,就要想方设法地追踪和监测网络安全情况,必须加强对网络监听技术的研究和发展,更好保障计算机网络安全。
关键词:网卡;网络监听;网络监听的检测
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)12-2691-03
随着计算机科学技术的快速发展,以互联网为主体的计算机网络技术应用就越来越普及,其应用领域非常广泛,不单包括军事、政治、科研、金融、商业等传统领域,还进入千家万户,使人们坐在家里就可以享受上网的乐趣和便利,可以说网络无处不在,它正在改变人们的生活方式和工作方式。
当人们舒适地坐在办公室里,惬意地享受网络带来的便利,收取E-mail或者购买喜欢的物品的时候,他们的信件和信用卡账号变成了一个又一个的信息包,在网络上不停地传送着,人们是否想过这些信息包会通过网络流入别人的机器呢?这可是实实在在的危险,因为网络监听工具就能够实现这样的功能。
网络监听是黑客在局域网中常用的一种手段,它能在网络中接收别人的数据包,其接收的目的就是分析和处理这些数据包,从而获得一些有用的信息,如账号和密码等。其实网络监听原本是网络管理员经常使用的一个工具,主要用来监视网络的流量、状态、数据等信息,比如Sniffer Pro就是许多系统管理员手中的必备工具。
为了更好地说明网络监听的工作原理,我们先介绍一下网卡和集线器的工作原理。以太网是现在应用最广泛的计算机连网方式,下面都用以太网来讲解。
1网卡的工作原理
网卡工作在数据链路层,计算机之间通过网卡交换数据时,这些数据是以帧的方式进行传输,一般帧结构由前导码、帧首定界符、目的MAC地址、源MAC地址、长度、逻辑链路层协议数据单元和帧检验序列组成,各个部分都有各自不同的功能。
当目的机器的网卡收到传输来的数据时,网卡先接收数据头的目的MAC地址,通常情况下,像收信一样,只有收信人才去打开信件,同样网卡只接收和自己地址有关的信息包,即只有目的MAC地址与本地MAC地址相同的数据包或者是广播包,网卡才接收。否则,这些数据包就直接被网卡抛弃。
网络还可以工作在另一种模式中,即“混杂”模式。此时网络进行数据包过滤不同于普通模式,混杂模式不理会数据包头内容,让所有经过的数据包都传递给操作系统去处理,这时计算机就可以轻松获取所有经过该网卡的数据帧了,如果一台计算机的网卡被配置成这种方式,那么它就具有网络监听功能。
2网络监听原理
网络监听的工作原理就是让网卡接收一切它所能接收的数据。Sniffer工作的过程基本上可以分为3步:把网卡置于混杂模式;捕获数据包;分析数据包。
1)共享式集线器连接的网络
如果办公室里的计算机A、B、C、D通过共享集线器连接。计算机A上的用户给计算机C上的用户发送文件,根据以太网的工作原理,数据传输是广播方式的。就是当计算机A发给计算机C的数据进入集线器后,集线器会把它接收到的数据再发给其他的每个端口,所以在共享集线器下,处于同一网段的所有计算机的网卡都能接收到数据,并检查在数据帧中的地址是否和自己的地址相匹配,计算机B和计算机D发现目的地址不是自己的,就把数据帧丢弃,不予理睬。而计算机C也接收到了数据帧,并在比较之后发现是自己的,接下来就将数据帧交给操作系统进行处理,如图1所示。
同样的工作情况,如果把计算机B的网卡置于混杂模式(即在计算机B上安装了网络监听软件),那么计算机B的网卡也会对这数据帧产生反应,把数据交给操作系统进行分析处理,从而实现了监听,获取一些有用的信息,如图2所示。
2)交换机连接的网络
交换机的工作原理与集线器不同,普通的交换机工作在数据链路层,交换机的端口和MAC地址有对应关系,当交换机接收数据帧时,交换机会先查看数据帧中的目的地址,然后按照地址表转发到相应的端口,其他端口收不到数据,如图3所示。只有目的地址是广播地址的,才转发给所有的端口。如果现在在计算机B上安装了网络监听软件,它也只能收到发给自己的广播数据包,无法监听别人的数据了。因此,在交换环境下比集线器连接的网络安全多了。
图3交换机工作原理
但是,并不是说在交换环境下就不会被别人监听了。现在许多交换机都支持镜像的功能,能够把进入交换机的所有数据都映射到监控端口,这样就可以监听所有的数据包,从而进行数据分析,如图4所示,镜像的目的主要是为了网络管理员掌握网络的运行情况,而采用的手段就是监控数据包。
图4交换机的监听端口
要实现这个功能必须能对交换机进行设置才可以,所以在交换环境下对于黑客来说很难实现监听的。
3网络监听的检测
一般来说网络监听是很难被发现的,因为网络监听只是接收来自网络上的数据,并没有向其他主机发送或修改任何数据,所以对可能存在网络监听的网络应采取以下的检测办法。
1)通过一些专业软件检查网络是否有网卡处于混杂模式,例如: AntiSniff反黑客软件。
2)对怀疑运行监听软件的主机,可以用正确的IP地址和错误的IP地址进行PING,如果两个地址都有反应,则说明该主机有运行监听软件,因为正常的主机只会接收正确的IP地址并作出反应,对错误的IP地址是不会接收的,而运行监听软件的主机则全部接收,并作出反应。
3)由于监听软件要分析和处理大量数据包,会占用大量CPU资源,导致主机性能下降,所以可以向网络发送大量无用数据,以检查和对比该电脑的前后性能,来推算查找监听主机。
4网络监听的防范
对于公共网络,如公司或企业的局域网,校园网和网吧等,计算机网络安全的防范工作非常重要,除了安装必需的防杀毒软件、木马检测程序和防火墙外,对网络监听的防范可以采取以下措施。
1)对网络进行分段
对不同功能的网络,从物理上或逻辑上进行分段,将可能存在的非法用户与敏感的网络资源进行隔离,从而防止可能的网络监听。
2)用交换机代替共享式集线器
由于交换机的端口和MAC地址有对应关系,在交换环境下是很难进行网络监听的,除非网络管理员对交换机进行端口映射设置。
3)采用数据加密技术
采用数据加密办法,即使被网络监听,如果没有密钥解密,显示出来的还是乱码。
5结束语
网络监听技术是一种工具,总是扮演正反两个不同的角色,一方面,对于入侵者,为了谋取人个利益,采用进行网络监听技术,非法获取用户的帐号、口令等敏感信息,造成他人的损失。另一方面,对于网络管理员,就要想方设法地追踪和监测网络安全情况,所以必须加强对网络监听技术的研究和发展,才能保障计算机网络更安全更快速地发展下去。
参考文献:
[1]刘远生.计算机网络安全[M].2版.北京:清华大学出版社,2009.
[2]石勇,卢浩,黄继军.计算机网络安全教程[M].北京:清华大学出版社,2012.