1、课程设计任务书 2008 2009 学年第学年第 1 学学 课程设计名称: TCP/IP 网络编程课程设计 设计题目: 使用 VC+编程实现网络嗅探器 完成期限:自 2008 年 12 月 28 日至 2009 年 元 月 3 日共 1 周 设计依据、要求及主要内容(可另加附页) : 一、 课题背景: 在当今的网络时代,网络信息安全受到很大的威胁,特别是一些黑客会进行一 些恶意攻击,为了保证网络信息安全,可以设计一种工具来实现对网络上传输的数 据包的捕获与分析,而且可以有效地探测在网络上传输的数据包信息,通过对这些 信息的分析利用,来保证网络安全。 二、设计任务: 1.设计一个网络嗅探器,实现
2、其基本的功能。 2.画出相应的程序流程图。 三、设计要求: 1.程序能实现网络嗅探器的基本功能。 2.应当考虑 TCP 数据的结构。 3.流程图要求规范、清晰。 4.撰写规范的文档(相关要求在学院或系网上查找) 指导教师(签字) : 教研室主任(签字) : 批准日期: 年 月 日 摘摘 要要 网络嗅探器无论是在网络安全还是在黑客攻击方面均扮演了很重要 的角色, 可以把网卡设置于混杂模式, 并可实现对网络上传输的数据包的 捕获与分析。 虽然网络嗅探器技术被黑客利用后会对网络安全构成一定的 威胁, 但嗅探器本身的危害并不是很大, 主要是用来为其他黑客软件提供 网络情报,真正的攻击主要是由其他黑软来
3、完成的。而在网络安全方面, 网络嗅探手段可以有效地探测在网络上传输的数据包信息, 通过对这些信 息的分析利用是有助于网络安全维护的。 关键词:关键词:嗅探器;网络安全;黑客;网络协议 目 录 1 课题描述 . 1 2 设计过程 2 2.1 背景概述 2 2.2 需求分析 2 2.3 工作流程图 3 2.4 嗅探器设计原理 . 4 2.5 TCP 数据包的分析与实现方法 5 2.6 嗅探器的具体实现 . 8 2.7 结果分析 . 10 总 结 11 参考文献 12 1 1 1 课题描述课题描述 嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通 讯的,对网卡的编程也是使用通常的套接字(
4、socket)方式来进行。但是, 通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发 出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此 地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响 应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰 在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可 以是发往别处的。 显然,要达到此目的就不能再让网卡按通常的正常模式工作,而必须 将其设置为混杂模式。这就要求用原始套接字(raw socket)来实现对网 卡模式的修改。 2 2 2 设计过程设计过程 2.1 背景概述背景概述 嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通 讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。网络 嗅探器无论是在网络安全还是在黑客攻击方面均扮演了很重要的角色。通 过使用网络嗅探器可以把网卡设置于混杂模式,并可实现对网络上传输的 数据包的捕获与分析。此分析结果可供网络安全分析之用,但如为黑客所 利用也