1、 目录 1 引 言 . 1 1.1 开发背景 1 1.2 开发意义 1 2 系统分析 2 2.1 设计概述 2 2.1.1 实现目标 2 2.1.2 开发环境 2 2.2 开发相关技术简介 2 2.2.1 C#语言简介 2 2.2.2 嗅探技术简介 3 2.2.3 TCP/IP 协议 4 2.2.4 数据包简介 6 2.3 可行性分析 8 3 详细设计 9 3.1 设计原理 9 3.2 功能说明 . 11 3.3 系统实施 . 12 3.4 系统测试 . 14 4 论文总结 . 19 致 谢 20 参考文献 21 1 1 引 言 1.1 开发背景 网络技术的日新月异,发展突飞猛进,计算机网络的
2、应用越来越广泛,其作用也越来越 重要。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、 自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传 送带来了新的问题。计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。 Internet 的安全已经成为亟待解决的问题。多数黑客入侵成功并植入后门后的第一件事就 是选择一个合适当前网络的嗅探器, 以获得更多的受侵者的信息。 嗅探器是一种常用的收集 有用数据的方法, 可以作为网络数据包的设备。 网络嗅探器就是是利用计算机的网络接口截 获其他计算机的数据报文的一种工具, 而且它与一般的键盘捕获程序
3、不同。 键盘捕获程序捕 获在终端上输入的键值,而嗅探器捕获的则是真实的网络报文.如果把网络嗅探器放置于网 络节点处, 对网络中的数据帧进行捕获的一种被动监听手段, 是一种常用的收集有用数据的 方法, 可以分析各种信息包并描述出网络的结构和使用的机器, 由于它接收任何一个在同一 网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信 息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。当然嗅探 器的正当用处主要是网络管理人员分析网络的流量,以便找出所关心的网络中潜在的问题。 例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出
4、在什 么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。 1 1.2 开发意义 本次毕业设计是基于 C#的网络嗅探器的设计与实现,由于本人能力上的限度,只是对 抓取到的本机在网络中的通信数据,比如说协议类型,源、目的地址和端口、数据包的大小 等加以分析, 而无法做到像 Sniffer 或者影音神探那种成熟的嗅探器所拥有的强大功能。 作 为从事网络技术方面的人员来说,要想有效地利用它、防范它,就得深入地学习、分析网络 嗅探技术。最为重要的是,对于网络嗅探器的设计与实现,使我对网络通信,数据传输和网 络信息安全等有了切身的体会与融入, 同时也是对大学四年的学以致用, 不断提高自我的一 种有效途径。 2 2 系统分析 2.1 设计概述 基于 C#的网络嗅探器的设计与实现,首先就是要设定好实现的目标,确定开发的环境。 有个合理的设计目标使得在设计过程中不茫然, 思路更清楚。 而一个好的开发环境对提高开 发的效率同样起着很重要的作用。 2.1.1 实现目标 实现一个简单的网络嗅探器。具备以下功能: 1、实现一个简洁的易操作的计算机操作用户界面 2、实现抓取数据包的功能 3、实现暂