Network 版 (精华区)
发信人: PaulD (但屈指西风几时来,又不道流年暗中偷换), 信区: Network
标 题: 局域网监听的原理、实现与防范(zz)
发信站: 哈工大紫丁香 (2003年05月23日21:51:12 星期五), 站内信件
一、引言
随着计算机技术的发展,网络已日益成为生活中不可或缺的工具,但伴之而来的非法
入侵也一直威胁着计算机网络系统的安全。由于局域网中采用广播方式,因此,在某个广
播域中可以监听到所有的信息包。而黑客通过对信息包进行分析,就能获取局域网上传输
的一些重要信息。事实上,很多黑客入侵时都把局域网扫描和侦听作为其最基本的步骤和
手段,原因是想用这种方法获取其想要的密码等信息。但另一方面,我们对黑客入侵活动
和其它网络犯罪进行侦查、取证时,也可以使用网络监听技术来获取必要的信息。因此,
了解以太网监听技术的原理、实现方法和防范措施就显得尤为重要。
二、局域网监听的基本原理
根据IEEE的描述,局域网技术是"把分散在一个建筑物或相邻几个建筑物中的计算机、
终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连
接器等相互连接起来,以很高的速度进行通讯的手段"。
局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处
理、具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和
校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。
1. 网络监听
网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的
状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使
用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断
地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台
主机、网关上或远程网的调制解调器之间等。
2. 在局域网实现监听的基本原理
对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的
所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的
那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主
机都将接收(当然只能监听经过自己网络接口的那些包)。
在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。
当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目
的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也
就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部
分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主
机的物理地址,这是一个与IP地址相对应的48位的地址。
传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域
网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主
机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达
连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网
络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,
则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达
网络接口的数据帧,都要进行这个过程。
然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且
,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监
听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)
的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外
,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好
的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和
口令等信息也以明文的方式在网上传输,而此时一个黑客或网络攻击者正在进行网络监听
,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的
部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网
络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。
三、局域网监听的简单实现
要使主机工作在监听模式下,需要向网络接口发出I/O控制命令,将其设置为监听模式
。在Unix系统中,发送这些命令需要超级用户的权限。在Windows系列操作系统中,则没有
这个限制。要实现网络监听,可以自己用相关的计算机语言和函数编写出功能强大的网络
监听程序,也可以使用一些现成的监听软件,在很多黑客网站或从事网络安全管理的网站
都有。
1. 一个使用sniffer pro进行监听并解析IPv4协议头部的例子
(1)IP头部概述,如图1
图1
对于上图中各个字段的含义以及IPv4和IPv6报头的区别,RFC文档和一些计算机网络基础的
书籍中都有详细的说明,在此不再赘述。
(2)实例解析
图2是用sniffer pro进行监听时捕获的IPv4协议报头。
图2
第一部分显示的是关于IP的版本信息,它的当前版本号为4;然后是头部的长度,其单位是
32-bit的字,本例中值为20 bytes。
第二部分是有关服务类型的信息。
第三部分为头部长度字段,本例中IP报头长为56字节。
第四部分是关于分段的内容。
第五部分是生存时间字段,一般为64或128,本例为128seconds/hops。
第六部分是协议部分,说明了上层使用的服务类型,本例中为UDP。
第七部分以下各字段分别为校验和、源地址、目的地址等。
2. 一个使用sniffer pro进行监听获取邮箱密码的例子
通过对用监听工具捕获的数据帧进行分析,可以很容易的发现敏感信息和重要信息。例如
,对一些明码传输的邮箱用户名和口令可以直接显示出来。如图3:
图3
图3中的gao-jian2001为邮箱用户名,12345为邮箱密码,都以明码显示,由此也可以看到
局域网监听技术如果用于不正当的目的会有多大的危害。
在以上各部分中还有更详细的信息,在此不作更多的分析。通过这个例子想说明的是
通过网络监听可以获得网络上实时传输的数据中的一些非常重要的信息,而这些信息对于
网络入侵或入侵检测与追踪都会是很关键的。
四、如何检测并防范网络监听
网络监听是很难被发现的,因为运行网络监听的主机只是被动地接收在局域局上传输
的信息,不主动的与其他主机交换信息,也没有修改在网上传输的数据包。
1. 对可能存在的网络监听的检测
(1)对于怀疑运行监听程序的机器,用正确的IP地址和错误的物理地址ping,运行监
听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处理监听状态的机
器能接收,但如果他的IP stack不再次反向检查的话,就会响应。
(2)向网上发大量不存在的物理地址的包,由于监听程序要分析和处理大量的数据包
会占用很多的CPU资源,这将导致性能下降。通过比较前后该机器性能加以判断。这种方法
难度比较大。
(3)使用反监听工具如antisniffer等进行检测
2. 对网络监听的防范措施
(1)从逻辑或物理上对网络分段
网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全
的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听
。
(2)以交换式集线器代替共享式集线器
对局域网的中心交换机进行网络分段后,局域网监听的危险仍然存在。这是因为网络
最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通
常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为
单播包Unicast Packet)还是会被同一台集线器上的其他用户所监听。
因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防
止非法监听。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet
)和多播包(Multicast Packet)。但广播包和多播包内的关键信息,要远远少于单播包
。
(3)使用加密技术
数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的缺
点是影响数据传输速度以及使用一个弱加密术比较容易被攻破。系统管理员和用户需要在
网络速度和安全性上进行折中。
(4)划分VLAN
运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于
网络监听的入侵。
五、结束语
网络监听技术作为一种工具,总是扮演着正反两方面的角色。对于入侵者来说,最喜欢的
莫过于用户的口令,通过网络监听可以很容易地获得这些关键信息。而对于入侵检测和追
踪者来说,网络监听技术又能够在与入侵者的斗争中发挥重要的作用。鉴于目前的网络安
全现状,我们应该进一步挖掘网络监听技术的细节,从技术基础上掌握先机,才能在与入
侵者的斗争中取得胜利。
参考文献
《网络安全技术内幕》,匿名著 前导工作室译,机械工业出版社,2000
《网络安全与黑客防范》,张小斌 严望佳编著,清华大学出版社,1999
《网络技术基础》,21世纪计算机网络工程丛书编委会著,北京希望电子出版社,
--
The secret of happy living is not to do what you like,
but to like what you do.
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.170]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.712毫秒