局域网监听原理与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析局域网的监听原理与实现
摘要:局域网的监听检测软件可以监视网络的状态,并利用这些信息来分析网络性能等。由于监听工具能有效的截获网络上的数据,所以它也对网络信息安全造成极大威胁。还必须采用各种反监听的检测措施以保护网络信息安全。软件设计包括用户界面部分、数据包的捕获与过滤部分、监听检测部分、数据解码部分。
关键字:网络安全;信息安全;监听;检测。
计算机局域网和Internet的发展给个人、企事业单位带来了革命性的改革和发展。同时又要面对网络开放带来的数据安全的新挑战和新危险:网络的安全访问、黑客的攻击等。一旦网络安全问题发生,通常会造成严重的后果,1994年曾发生过黑客在众多的主机和骨干网络设备上安装了网络监听软件,利用它对美国骨干互联网和军方网窃取了超过100000个有效的用户名和口令。所以必须加强网络安全意识,并及早发现防范。特别是企业更应该加强网络的安全控制。计算机网络监听和检测软件就是在这种情况下而产生发展起来。
一.监听原理
1.什么是网络监听网络监听是黑客们常用的一种方法。
当成功地登录进一台网络上的主机,并取得了这台主机的超级用户的权限之后,往往要扩大战果,尝试登录或者夺取网络中其他主机的控制友。而网络监听则是一种最简单而且最有效的方法,它常常能轻易地获得用其他方法很难获得的信息。在网络上,监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。使用最方便的是在一个以太网中的任何一台上网的主机上,这是大多数黑客的做法。
2.局域网监听的基本原理
根据IEEE的描述,局域网技术是"把分散在一个建筑物或相邻几个建筑物中的计算机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连接器等相互连接起来,以很高的速度进行通讯的手段。局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。对于目前很流行的以太网协议,其手段。
起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分
协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个黑客或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力工作方式是:将要发送的
3.以太网中监听原理
在电话线路和无线电、微波中监听传输的信息比较好理解,但是人们常常不太理解为什么局域网中可以进行监听。甚至有人问:能不能监听不在同一网段的信息。下面就讲述在以太网中进行监听的一些原理。在令牌环中,道理是相似的。对于一个施行网络攻击的人来说,能攻破网关、路由器、防火墙的情况极为少见,在这里完全可以由安全管理员安装一些设备,对网络进行监控,或者使用一些专门的设备,运行专门的监听软件,并防止任何非法访关。然而,潜入一台不引人注意的计算机中,悄悄地运行一个监听程序,一个黑客是完全可以做到的。监听是非常消耗CPU资源的,在一个担负繁忙任务的计算机中进行监听,可以立即被管理员发现。
网络监听的概述
一个简单的监听程序的大体结构如图1所示,大体上来说,可以将监听程序分为两个组成部分:
(1)内核空间部分:负责从网络重捕获以及过滤数据包。
(2)用户空间部分:负责处理用户界面的显示、协议分析,此外如果核心层没有进行过滤的话,还必须负责过滤部分工作。
监听的实施是有条件的,不可能在网络上的任意某一台主机装上监听软件,就可以看到整个的网络的状况。在以太局域网内,主机间的通信采用了广播机制。广播机制使得整个子网内的数据分组都将到达监听者的网卡接口。这样,只需要将某台主机的网卡设置为“混杂”模式,所有到达网卡的数据都将送给系统进行处理分析,就可以实施对整个网段内的监听。如果需要监听特定的数据,监听者必须在监听软件中设置过滤器。因为混杂模式下网卡式不会自己过滤数据。
二.
要实现捕获,方法非常的多,能在网络栈的不同位置实现。可以采取一下几种不同的设计思路,他们都能达到相同的目的。
1. 编写协议驱动程序:Windows系统下多个协议驱动程序可以共存于一个微端口驱动程序上,只要向NDIS(网络驱动程序接口规范)上注册一个协议驱动程序,建立绑定后就可以收到感兴趣的数据了。
2. 编写中间层驱动程序:中间层驱动位于微端口驱动程序和协议驱动程序之间,有两种类型的中间层驱动程序:过滤驱动程序和复合驱动程序。由于中间层驱动程序位置的特殊性,不论上层或者下层的数据都要经过它,所以用它捕获网络数据包很容易高效实现。
3.编写IP Filter hook驱动程序:系统的TCP/IP模块提供了一种接口,使得驱动程序可以对TCP/IP协议数据进行过滤。