基于socket套接字的网络监听程序设计

基于socket套接字的网络监听程序设计

ID:14044546

大小:138.00 KB

页数:6页

时间:2018-07-25

基于socket套接字的网络监听程序设计_第1页
基于socket套接字的网络监听程序设计_第2页
基于socket套接字的网络监听程序设计_第3页
基于socket套接字的网络监听程序设计_第4页
基于socket套接字的网络监听程序设计_第5页
资源描述:

《基于socket套接字的网络监听程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、以太局域网的监听检测原理与实现鄢鹏王忠(四川大学电气信息学院通信工程系,成都610065)摘要:以太局域网的监听检测软件可以监视网络的状态,并利用这些信息来分析网络性能等。由于监听工具能有效的截获网络上的数据,所以它也对网络信息安全造成极大威胁。还必须采用各种反监听的检测措施以保护网络信息安全。软件设计包括用户界面部分、数据包的捕获与过滤部分、监听检测部分、数据解码部分。在VisualC++.NET环境下开发实现。关键词:网络安全;信息安全;监听;检测。61引言计算机局域网和Internet的发展给个人、企事业单位带来了革命性的改革和

2、发展。同时又要面对网络开放带来的数据安全的新挑战和新危险:网络的安全访问、黑客的攻击等。一旦网络安全问题发生,通常会造成严重的后果,1994年曾发生过黑客在众多的主机和骨干网络设备上安装了网络监听软件,利用它对美国骨干互联网和军方网窃取了超过100000个有效的用户名和口令。所以必须加强网络安全意识,并及早发现防范。特别是企业更应该加强网络的安全控制。计算机网络监听和检测软件就是在这种情况下而产生发展起来。2监听与检测概述2.1监听概述一个简单的监听程序的大体结构如图1所示,大体上来说,可以将监听程序分为两个组成部分:(1)内核空间部

3、分:负责从网络重捕获以及过滤数据包。(2)用户空间部分:负责处理用户界面的显示、协议分析,此外如果核心层没有进行过滤的话,还必须负责过滤部分工作。66图1监听程序基本结构6监听的实施是有条件的,不可能在网络上的任意某一台主机装上监听软件,就可以看到整个的网络的状况。在以太局域网内,主机间的通信采用了广播机制。广播机制使得整个子网内的数据分组都将到达监听者的网卡接口。这样,只需要将某台主机的网卡设置为“混杂”模式,所有到达网卡的数据都将送给系统进行处理分析,就可以实施对整个网段内的监听。如果需要监听特定的数据,监听者必须在监听软件中设置

4、过滤器。因为混杂模式下网卡式不会自己过滤数据。图2、3是网卡的正常工作模式和混杂模式的比较示意图。6图2正常网卡的工作流程图图3混杂模式下网卡的工作流程图62.2检测概述由于产生网络监听行为的主机在工作时总是不做声的收集数据包,几乎不会主动发出任何信息,所以,一直都没有很有效好的检测方法。常见的监听方法主要有以下四种。(1)根据主机的反应时间:因为处在监听状况下的主机的负荷量会比较大,所以对任何请求的延迟都会比较大。(2)检测主机上运行的进程:因为监听软件都有特定的进程在运行,不过网络监听软件太多,这种方法不一定有效。(3)利用Pin

5、g模式进行监测:就是向被怀疑有监听系统的目标主机发送一个含有错误的MAC地址和正确的IP地址的数据帧。正确的IP地址使数据包可以到达主机,错误的MAC地址只有处在监听状况下的主机才可能接收。3程序的总体设计先分析一下准备设计的程序需要实现的主要功能。6(1)友好的界面:便于与用户进行交互,用户可以方便的对程序进行操作。(2)以太网的数据报捕获:直接读取以太网数据包,而不在高层获得IP包。使得到的数据信息更加完整,并且网卡需要工作在“混杂”模式。(3)数据报的过滤:可以根据监听者的需要,过滤掉不需要的信息,只捕获想得到的信息,避免太多垃

6、圾信息。(4)数据报的解码:对数据包的包头进行分析,显示出包头的具体含义。使监听者很容易分析网络的状态等。(5)监听检测功能:向网络中各个可疑主机发送检测数据包,检查对方是否正在监听。避免信息被窃取,维护网络安全。可以看出,整个监听检测程序主要分为两大部分:程序驱动程序部分和应用程序部分。驱动程序工作在核心态,负责网络数据的接受和发送;应用程序工作在用户态,除了与驱动程序进行正常的通信外,还需要将有关信息显示出来,并提供过滤等操作。缓冲区由应用程序动态分配提供。程序的总体框架大致如图4所示。6图4程序模块示意图64程序的具体实现4.1

7、界面部分利用微软基本类库(MFC),生成单文档视图窗口(MFCSDI)程序,用户可以利用这个窗口实时、清晰地看到捕获的数据包的简单统计信息和捕获到的数据包的较详细的解析信息。在文档类中存储一些捕获的简单统计信息,捕获到的数据以及数据包的解析信息,而在几个视图类中分别显示这些信息。l程序中的几个主要的视图类的介绍。(1)CSstatisticView负责显示一些简单的统计信息,比如一共捕获到多少个数据包。l(2)CListCaptureView用以列表的形式显示捕获到的数据包,当这个列表的某一个数据被选中时,对(CDataHierarc

8、hyView)视图进行更新,使他们显示当前这个被选中的数据包的详细解码信息。l(3)CDataHierarchyView按照层次显示出在列表视图中被选中的数据包的解码分析后的详细信息。4.2以太网的数据包捕获要实现捕获,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。