协议分析器程序PPT课件

上传人:M****1 文档编号:593275011 上传时间:2024-09-24 格式:PPT 页数:29 大小:793KB
返回 下载 相关 举报
协议分析器程序PPT课件_第1页
第1页 / 共29页
协议分析器程序PPT课件_第2页
第2页 / 共29页
协议分析器程序PPT课件_第3页
第3页 / 共29页
协议分析器程序PPT课件_第4页
第4页 / 共29页
协议分析器程序PPT课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《协议分析器程序PPT课件》由会员分享,可在线阅读,更多相关《协议分析器程序PPT课件(29页珍藏版)》请在金锄头文库上搜索。

1、吴功宜吴功宜吴功宜吴功宜 董大凡董大凡董大凡董大凡王王王王 珺珺珺珺 刘刘刘刘 乾乾乾乾“十一五国家重点图书十一五国家重点图书十一五国家重点图书十一五国家重点图书 计算机科学与技术学科前沿丛书计算机科学与技术学科前沿丛书计算机科学与技术学科前沿丛书计算机科学与技术学科前沿丛书计算机科学与技术学科研究生系列教材中文版计算机科学与技术学科研究生系列教材中文版计算机科学与技术学科研究生系列教材中文版计算机科学与技术学科研究生系列教材中文版 计算机网络计算机网络计算机网络计算机网络 高级软件编程技术高级软件编程技术高级软件编程技术高级软件编程技术1第第16章章协议分析器程序协议分析器程序2概述概述 协

2、议分析器可以有效完成对网络上传输数据包的捕获,从而收集与分析网络信息,是网络流量监控和故障检测所必不可少的工具之一,对网络管理与网络平安具有重要的意义 3编程训练目的编程训练目的编程训练要求编程训练要求相关知识介绍相关知识介绍程序设计分析程序设计分析扩展与提高扩展与提高提纲提纲4编程训练目的编程训练目的编写一个简化的协议分析器,了解数据通过网编写一个简化的协议分析器,了解数据通过网络传输时的封装与解析过程,加深理解络传输时的封装与解析过程,加深理解TCP/IP协议栈的工作原理和网络应用软件开发能力。协议栈的工作原理和网络应用软件开发能力。掌握根据软件功能结构进行模块化设计的方法掌握根据软件功能

3、结构进行模块化设计的方法掌握掌握Winpcap编程与抓包方法;了解使用原始编程与抓包方法;了解使用原始套接字套接字raw socket实现数据包捕获的方式;实现数据包捕获的方式;使用使用Winpcap库的流量统计和向网络中发包等库的流量统计和向网络中发包等高级特性。高级特性。 5编程训练目的编程训练目的编程训练要求编程训练要求相关知识介绍相关知识介绍程序设计分析程序设计分析扩展与提高扩展与提高提纲提纲6编程训练要求编程训练要求 编程实现一个协议分析器。该协议分析器将包含以下几局部功能 :数据采集实时捕捉Ethernet网络数据包;解析Ethernet网数据帧头部的全部信息;实现基于MAC地址和

4、帧头部类型字段的数据包过滤;解析IP数据包的头部信息;实现基于IP地址和IP头协议的数据过滤;7编程训练要求续编程训练要求续6.对对ICMP报文,要求至少解析报文,要求至少解析ICMP回显请求、回显请求、回显应答、超时及目的不可达四种类型的报回显应答、超时及目的不可达四种类型的报文;文;7.解析传输层解析传输层TCP、UDP协议头部信息;协议头部信息;8.实现基于端口的数据包过滤;实现基于端口的数据包过滤;9.实现应用层实现应用层HTTP协议头局部析。协议头局部析。8编程训练目的编程训练目的编程训练要求编程训练要求相关知识介绍相关知识介绍程序设计分析程序设计分析扩展与提高扩展与提高提纲提纲9协

5、议分析器根本原理协议分析器根本原理Ethernet是目前应用最广泛的计算机连网方式,是目前应用最广泛的计算机连网方式,它基于总线结构,物理层采用播送方式。它基于总线结构,物理层采用播送方式。当一台主机向另一台主机发送数据时,网络上当一台主机向另一台主机发送数据时,网络上所有的主机都能接收到该帧,但只有目的地址所有的主机都能接收到该帧,但只有目的地址正确的主时机接受数据,而其他主机应将其丢正确的主时机接受数据,而其他主机应将其丢弃。弃。协议分析器就是一种能将本地网卡状态设置成协议分析器就是一种能将本地网卡状态设置成“混杂模式并接收网络上所有数据帧的软件。混杂模式并接收网络上所有数据帧的软件。 1

6、0网络分层体系结构及常用协议所在层次网络分层体系结构及常用协议所在层次 11以太网数据的封装与解析过程以太网数据的封装与解析过程 12以太网帧结构以太网帧结构 前导码与帧前定界符:前导码为前导码与帧前定界符:前导码为56bit的的1010101010,帧,帧前定界符为前定界符为10101011目的地址和源地址:目的地址和源地址:MAC地址为地址为48bit长度长度/类型:长度小于类型:长度小于0800H,类型大于等于,类型大于等于0800H,如,如IP为为0800H、ARP为为0806H数据字段:用于携带上层传下来的数据。数据字段:用于携带上层传下来的数据。帧校验字段:帧校验字段:32位的位的

7、CRC前导码、帧前定界符和帧校验和三个字段属于物理层内容,前导码、帧前定界符和帧校验和三个字段属于物理层内容,在数据链路层不会得到这些字段,因此在在数据链路层不会得到这些字段,因此在MAC层只需解析层只需解析目的地址、源地址、长度目的地址、源地址、长度/类型和数据字段。类型和数据字段。 13ARP报文结构报文结构 14IP报文结构报文结构 15ICMP报文结构报文结构 16TCP报文结构报文结构 17UDP报文结构报文结构 18HTTP报文结构报文结构 HTTP请求消息的一般格式请求消息的一般格式 19HTTP报文结构续报文结构续 HTTP响应消息的一般格式响应消息的一般格式 20编程训练目的

8、编程训练目的编程训练要求编程训练要求相关知识介绍相关知识介绍程序设计分析程序设计分析扩展与提高扩展与提高提纲提纲21协议分析器总体结构协议分析器总体结构22网络数据包的捕获网络数据包的捕获Windows平台下可以通过平台下可以通过WinPcap获取网络数据包。获取网络数据包。WinPcap详细内容参见详细内容参见 :/。是一个开源的、运行于是一个开源的、运行于Win32平台的体系结构平台的体系结构包括内核级别的、低层次的包过滤动态连接库包括内核级别的、低层次的包过滤动态连接库packet.dll和高级别系统无关函数库和高级别系统无关函数库wpcap.dll安装安装WinPcap驱动程序和驱动程

9、序和DLL程序可以从程序可以从 :/网站网站下载。下载。安装开发人员使用的开发工具包安装开发人员使用的开发工具包developers pack包括:库文件、包含文件、简单的例如程序代码和帮包括:库文件、包含文件、简单的例如程序代码和帮助文件。助文件。23数据包数据包捕获流程图捕获流程图 24协议解析流程协议解析流程 25需注意的问题:字节顺序需注意的问题:字节顺序网络序网络序主机序主机序u_short ntohs(u_short netshort)u_long ntohl(u_long netlong)主机序主机序网络序网络序u_short htons(u_short hostshort)u_

10、long htonl(u_long hostlong)26编程训练目的编程训练目的编程训练要求编程训练要求相关知识介绍相关知识介绍程序设计分析程序设计分析扩展与提高扩展与提高提纲提纲27向网络中发送自定义数据包向网络中发送自定义数据包 Winpcap提供了一个简单而快捷的方式发送一提供了一个简单而快捷的方式发送一个原始数据包。个原始数据包。 /* 发送自定义数据包。 * pPacketBuf中是数据缓冲区指针, * iSize是数据包大小 */pcap_sendpacket(hAdapterHandle, pPacketBuf, iSize);28使用使用Winpcap统计功能的统计功能的根本流程根本流程 29

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号