东北大学秦皇岛分校计算机网络课程设计.doc

东北大学秦皇岛分校计算机网络课程设计.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东北大学秦皇岛分校计算机网络课程设计

计算机网络课程设计 利用WinPcap编程实现监视某个特定TCP连接的程序 系 别 计算机与通信工程学院 专 业 计算机科学与技术 学 号 姓 名 指导教师 2013年7月5日 需求分析 学会安装 WinPcap,熟悉WinPcap编程机制,学会在VC的IDE中添加相应的库文件,掌握Windows下应用程序的消息机制,利用WinPcap的过滤功能编写一个仅捕获已经分片的IP数据报的应用程序,深入地理解网络协议,了解如何分析网络的安全性和可靠性。 实验要求 在VC++6.0开发环境下,利用WinPcap编程实现监视某个特定TCP连接的程序并显示出来。 实验原理以及相关内容 TCP协议数据传输的解析 图1:TCP协议报头 ? ◆ 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文段。 ? ◆ 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它就重发这个报文段。 ? ◆ 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常延迟几分之一秒。 ? ◆ TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化如果收到报文段的检验和有差错,TCP将丢弃这个报文段和不确认收到这个报文段。 ? ◆ 既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能失序,因此TCP报文段的到达也可能失序。如果必要,TCP将对收到的数据进行排序,将收到的数据以正确的顺序交给应用层。 ? ◆ 既然IP数据报会发生重复,TCP连接端必须丢弃重复的数据。 ? ◆ TCP还能提供流量控制,TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。 ②WinPcap简明介绍 WinPcap是一个开源的、运行于Win32平台的体系结构,是用于网络封包抓取的一套工具,包括一个内核级别的packet filter,一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll), packet.dll提供一个底层的API,可以直接访问网络设备驱动,Wpcap.dll是一个强大的捕获程序库。 它为win32应用程序提供访问网络底层的能力,Winpcap不能阻塞、过滤或控制其他应用程序数据报的发收,它仅仅只是监听共享网络上传送的数据包。本实验利用WinPcap提供的函数来设置网卡模式并捕获响应的数据包,进行解析。 实验内容 ①安装Winpcap驱动和DLL程序。在VC++中配置WinPcap,Tools-options-Directories,WinPcap的Include和Lib文件。如下: Winpcap功能强大,效率高,使用方便,但是,使用前的准备工作要费一番功夫,步骤如下: 步骤1:安装驱动程序。下载WinPcap Driver和DLL并安装,安装后重启机器。 步骤2:下载wpdpack(Developer’s pack)。解压后会看到其中包含了docs、Include、lib、Examples等文件夹。 图2:Winpcap包含文件 步骤3:在VC中设定Include目录及Library目录。具体做法:打开VC后,Tools-Option-Directories,在include files中添加……\wpdpack\Include目录(步骤2中得到的);在Library files中添加……\wpdpack\Lib目录。 图3:添加WinPcap库 ②winpcap捕获数据包流程: 计算机是通过网卡和网络中其他的主机进行通信的,网卡相当于数据包进出的大门,我们平时讲的数据包的捕获相当于大门的门卫在检查进出的行人一样。在网络基础我们学习过,数据包的发送是一个封装的过程,而数据包的接收则是解封装的过程,但是封装和解封装都是在OS内核来完成的,一般的应用程序没办法获取数据包原始的内容,而Winpcap却能提供这样的功能,在数据链路层捕获数据包,提供最原始的信息。其中Winpcap捕获数据的原理在第一章已经介绍过了

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档