1《TCP/IP协议分析》课程设计题目:用协议分析工具分析DNS以及以下各层协议的工作机制院系:计算机学院班级:2012级网络工程班姓名:****学号:*********组别:第四组组长:*****组员:************************2015年1月8日2目录一、课程设计目的........................................................................................................3二、课程设计的要求....................................................................................................3三、实验环境................................................................................................................3四、实验内容及过程....................................................................................................3五、总结......................................................................................................................173一、课程设计目的1、用协议分析工具分析DNS以及以下各层协议的工作机制;2、掌握DNS协议的请求与应答过程二、课程设计的要求1、分析网络拓扑图的结构与组成,观察网络设备在拓扑图中的表示方法,学习根据拓扑图进行网络构建的基本步骤,了解网络组建的过程。分析网络中可能用到的网络协议,说明其应用目的和实现机理。2、掌握协议分析工具的安装、配置和基本操作。利用协议分析工具分析现实中某种网络应用的协议工作过程,通过分析工具捕获网络数据的具体传输,分析该应用在协议栈个层次中数据包的具体内容,从而理解各层协议的作用与协同工作的过程,达到能更加深入掌握网络协议原理的目的。三、实验环境1、网络环境机房环境、PacketTracer虚拟环境2、操作系统Windows7(服务器端安装DNS服务器及web服务器)3、协议分析工具Wireshark、PacketTracer四、实验内容及过程1、DNS基本知识及原理DNS(DomainNameSystem)及域名服务系统,它的作用就是域名到IP地址的转换过程。IP地址是网络上标识web站点的数字地址,为了简单好记,采4用域名代替IP地址来标识站点地址。而实现域名到IP地址的转换就必须具有DNS服务器。2、DNS解析过程第一步:客户端提出域名解析请求,并将该请求发送给本地的域名服务器第二步:当本地的DNS服务器收到请求后,就先查询本地的缓存,如果有该项记录,则本地的DNS服务器就直接把查询结果返回;第三步:如果本地的缓存记录中没有该记录就直接把该请求发给根服务器,然后根域名服务器再返回本地域名服务器一个所查询域的主域名服务器地址;第四步:本地服务器再向上一步返回的域名服务器发出请求,然后接收请求的服务器查询自己的缓存记录,如果有该条记录则将结果返回;第五步:若没有则重复该过程,直到找到正确记录;第六步:本地域名服务器把返回的结果保存到本地缓存以备下次使用,同时将结果返回给发出请求的客户机;3、网络拓扑结构设计图4.3.1图4.3.1中①pc1---pc4为客户机,由客户机向服务器发出DNS解析请求,IP地址分别5配置为192.168.8.1—192.168.8.4子网掩码均为255.255.255.0,DNS服务器地址为192.168.8.6;②pc5即图中的Server-ptHttpserver作为web服务器,IP地址配置为192.168.8.5,子网掩码为255.255.255.0,DNS服务器地址为192.168.8.6;③pc6即图中的Server-ptDNSserve就是负责域名解析的本地DNS服务器、IP地址配置为192.168.8.6。Pc1的配置图httpserver的配置图DNS服务器的配置图4、实验设计用PacketTracer模拟请求过程并抓取PDU6第一步:Pc1发出请求,报文格式如下第二步,交换机接收报文并转发接收到的PDU转发的PDU7第三步:DNS服务器接收解析请求接收的PDU第四步:DNS服务器接收请求后查询本地缓存记录查询到结果后返回结果发出的PDU8第五步:交换机接收PDU并转发第六步:客户机pc1接收返回的查询结果收到的回复PDU至此,完成整个解析过程5、实验步骤结果分析1.实验环境的搭建在一台pc上采用sdnsplus搭建一个DNS服务并配置IP地址为192.168.8.6子网掩码255.255.255.0;并在DNS服务器的解析记录中添加一条记录abc.com指向主机192.168.8.5设置截图如下92.在另外一台pc上用IIS搭建一个web服务器,并建立一个名为test的站点,绑定站点的主机名为,在站点文件夹中新建一个html页面,页面中写入“这是一个测试页面”;配置IP地址为192.168.8.5子网掩码255.255.255.0DNS服务器地址为192.168.8.6其余是pc作为客户机分别配置IP地址192.168.8.1---192.168.8.4DNS服务器地址为192.168.8.63.打开Wireshark设置抓包模式开始抓包4.在客户机pc上打开命令行工具键入nslookupabc.com5.在Wireshark页面抓取的数据包中过滤DNS包,截图如下6.对抓取到的数据包进行分析,分析过程如下1、请求报文(1)应用层DNS的头部格式如下07815IDQROpcodeAATCRDRAZRCODEQDCOUNTANCOUNTNSCOUNT10ARCOUNT展开序号为6的数据包,截图如下:展开DomainNameSystem节点这是应用层对数据的第一次封装,在捕获的数据包中,对标识部分分析如下:矩形部分:DNS首部;椭圆形部分:问题部分;①报文ID②QR(查询应答标志,长1位,0表示查询1表示应答,)此处为0就是查询;③Opcode(操作码,长4位,0表示标准查询(正向解析)、1表示反向查询(反向解析)、2表示服务器状态请求、3保留将来使用)。此处为0,表示正向解析;④RD(期望递归,长1位,0表示迭代查询、1表示引导名称服务器递归跟踪查询),此处为1,表示使用递归查询;⑤QDCOUNT(指定问题部分条目数量),此处为1,表示只有一条查询;问题部分:是查询的内容,报文中的内容表示要解析的域名为abc.com解析类型为A类解析。(2)传输层DNS报文用的是UDP进行传输层的封装UDP的数据报格式如下07815源端口目的端口长度校验和数据(16位的整倍数)①③②⑤④11展开UserDataProtocol节点标识部分分析:①源端口:为53042;②目的端口:53(UDP的传输端口);③长度:33字节;④校验和:ox9193。(3)网络层,网络层采用IP协议封装,IP首部格式如下0151631版本首部长度服务类型/差分服务总长度标识标志分片偏移生存期协议首部校验和源地址目的地址选项(可选)数据(可变)展开InternetProtocol节点标识部分分析如下:①②④③①②④③⑥⑤⑦⑨⑧⑪⑩12①版本(长4位):此处位4标识版本是IPv4;②首部长度(长4位):此处为20表示长20字节;③总长度(长16位):92字节;④标识(长16位):数据单元的唯一标识,此处为ox7bc7;⑤标志(长3位,分片标志是否允许分片及是否是最后一片,第一位保留,第二位设置是否分片,0表示允许分片,1表示不分片,第三位表示是否为最后一片,0表示是最后一片):此处为000表示允许分片且是最后一片;⑥分片偏移(长13位分片属于原始数据单元的第几片):此处为0,表示为第0片;⑦生存期(TTL,长8位):此处为64,表示该数据单元能经过多最多路由跳数为64;⑧协议(长8位,封装的上层协议):此处为UDP表示封装的为UDP的协议数据单元;⑨首部校验和(长16位):此处为ox6d69;⑩源IP(长32位):此处为192.168.8.10⑪目标IP(长32位):此处为192.168.8.6;(4)网络接口层,网络接口层采用EthernetII进行封装,帧格式如下------------------------首部-------------------------数据-------------------目的地址源地址类型数据FCS字节66246~1500展开EthernetII节点标识部分分析如下:①目的地址(长6个字节,目标主机MAC地址):此处为fc:4d:d4:d7:4c:04表示目标的物理地址为fc:4d:d4:d7:4c:04②①③13②源地址(长6个字节,源主机MAC地址)此处为fc:4d:d7:4c:71表示目标的物理地址为fc:4d:d7:4c:71③类型(长2字节标识正在使用该帧类型的协议):此处为IPox0800表示正在使用该帧类型的协议为IP协议。展开Frame节点标识部分分析:①帧到达时间:2015年1月6日13:49:29;②帧编号:4;③帧长度:67字节。2、应答报文展开序号为5的数据包(1)应用层展开DomainNameSystem节点①③②①②④③⑥⑤⑦14应用层对数据的第一次封装,对标识部分分析如下:矩形部分:DNS首部;椭圆形部分:问题部分;圆角矩形部分:应答部分;倒三角部分:权威部分①报文ID②QR(查询应答标志,长1位,0表示查询1表示应答,)此处为1就是应答;③Opcode(操作码,长4位,0表示标准查询(正向解析)、1表示反向查询(反向解析)、2表示服务器状态请求、3保留将来使用)。此处为0,表示正向解析;④AA(权威性应答标志,长1位):此处为1表示给出应答的服务器是该区域权威服务器;⑤RD(期望递归,长1位,0表示迭代查询、1表示引导名称服务器递归跟踪查询),此处为1,表示使用递归查询;⑥QDCOUNT(指定问题部分条目数量,长16位),此处为1,表示只有一条查询;⑦ANCOUNT(指定应答部分资源记录的数量,长16位):此处为1,表示有1条资源记录;问题部分:是查询的内容,报文中的内容表示要解析的域名为abc.com解析类型为A类解析。应答部分:是回复的结果,报中的内容表示域名abc.com的主机IP为192.168.8.5,生存时间为3个小时;权威应答部分:表示权威服务器的名称是Lenovo-pc,类型为NS。(2)传输层DNS报文用的是UDP进行传输层的封装UDP的数据报格式如下展开UserDataProtocol节点15标识部分分析:①源端口:为53(UDP的传输端口);②目的端口:53042;③长度:72字节;④校验和:ox2120。(3)网络层,网络层采用IP协议封装,IP首部格式如下展开InternetProtocol节点标识部分分析如下:①版本(长4位):此处位4标识版本是IPv4;②首部长度(长4位):此处为20表示长20字节;③总长度(长16位):92字节;④标识(长16位):数据单元的唯一标识,此处为ox7bc7;⑤标志(长3位,分片标志是否允许分片及是否是最后一片,第一位保留,第二位设置是否分片,0表示允许分片,1表示不分片,第三位表示是否为①②④③①③②⑤⑦⑥⑩⑨⑧④⑪16最后一片,0表示是最后一片):此处为000表示允许分片且是最后一片;⑥分片偏移(长13位分片属于原始数据单元的第几片):此处为0,表示为第0片;⑦生存期(TTL,长8位):此处为64,表示该数据单元能经过