第16章节协议剖析器程序.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16章节协议剖析器程序

“十一五”国家重点图书 计算机科学与技术学科前沿丛书 计算机科学与技术学科研究生系列教材(中文版) 计算机网络 高级软件编程技术 吴功宜 董大凡 王 珺 刘 乾 第16章 协议分析器程序 概述 协议分析器可以有效完成对网络上传输数据包的捕获,从而收集与分析网络信息,是网络流量监控和故障检测所必不可少的工具之一,对网络管理与网络安全具有重要的意义 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 编程训练目的 编写一个简化的协议分析器,了解数据通过网络传输时的封装与解析过程,加深理解TCP/IP协议栈的工作原理和网络应用软件开发能力。 掌握根据软件功能结构进行模块化设计的方法 掌握Winpcap编程与抓包方法;了解使用原始套接字(raw socket)实现数据包捕获的方式;使用Winpcap库的流量统计和向网络中发包等高级特性。 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 编程训练要求 编程实现一个协议分析器。该协议分析器将包含以下几部分功能 : 数据采集——实时捕捉Ethernet网络数据包; 解析Ethernet网数据帧头部的全部信息; 实现基于MAC地址和帧头部类型字段的数据包过滤; 解析IP数据包的头部信息; 实现基于IP地址和IP头协议的数据过滤; 编程训练要求(续) 对ICMP报文,要求至少解析ICMP回显请求、回显应答、超时及目的不可达四种类型的报文; 解析传输层TCP、UDP协议头部信息; 实现基于端口的数据包过滤; 实现应用层HTTP协议头部分析。 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 协议分析器基本原理 Ethernet是目前应用最广泛的计算机连网方式,它基于总线结构,物理层采用广播方式。 当一台主机向另一台主机发送数据时,网络上所有的主机都能接收到该帧,但只有目的地址正确的主机会接受数据,而其他主机应将其丢弃。 协议分析器就是一种能将本地网卡状态设置成“混杂”模式并接收网络上所有数据帧的软件。 网络分层体系结构及常用协议所在层次 以太网数据的封装与解析过程 以太网帧结构 前导码与帧前定界符:前导码为56bit的1010…101010,帧前定界符目的地址和源地址:MAC地址为48bit 长度/类型:长度(小于0800H),类型(大于等于0800H,如IP为0800H、ARP为0806H) 数据字段:用于携带上层传下来的数据。 帧校验字段:32位的CRC 前导码、帧前定界符和帧校验和三个字段属于物理层内容,在数据链路层不会得到这些字段,因此在MAC层只需解析目的地址、源地址、长度/类型和数据字段。 ARP报文结构 IP报文结构 ICMP报文结构 TCP报文结构 UDP报文结构 HTTP报文结构 HTTP请求消息的一般格式 HTTP报文结构(续) HTTP响应消息的一般格式 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 协议分析器总体结构 网络数据包的捕获 Windows平台下可以通过WinPcap获取网络数据包。 WinPcap(详细内容参见 http://winpcap.polito.it)。 是一个开源的、运行于Win32平台的体系结构 包括内核级别的、低层次的包过滤动态连接库packet.dll和高级别系统无关函数库wpcap.dll 安装WinPcap驱动程序和DLL程序(可以从http://winpcap.polito.it网站下载)。 安装开发人员使用的开发工具包(developer’s pack) 包括:库文件、包含文件、简单的示例程序代码和帮助文件。 数据包 捕获流程图 协议解析流程 需注意的问题:字节顺序 网络序→主机序 u_short ntohs(u_short netshort) u_long ntohl(u_long netlong) 主机序→网络序 u_short htons(u_short hostshort) u_long htonl(u_long hostlong) 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 向网络中发送自定义数据包 Winpcap提供了一个简单而快捷的方式发送一个原始数据包。 使用Winpcap 统计功能的 基本流程 *《计算机网络高级软件编程技术》 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档