




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 计算机网络实验二:协议数据的捕获和解析1、 实验类别协议分析验证型二.、实验内容和实验目的本次实验主要包含下列内容:1)使用wireshark 软件捕获在使用ping 命令时产生的icmp 消息;2)分析网络层ip 包头格式,理解各字段的作用,对于分段和校验和进行验证;3)使用wireshark 软件捕获在使用arp 消息,分析其消息格式,理解其工作原理;4)使用wireshark 捕获dhcp 消息,分析其消息序列,理解dhcp 的功能和操作原理;5)使用wireshark 捕获tcp 消息,分析tcp 报文段头格式,理解连接建立和释放的原理,差错控制原理、序号和窗口管理的原理。通过本实验
2、来深入理解分层体系结构,理解和掌握tcp/ip 协议栈的代表协议ip、tcp、udp、icmp、arp 和dhcp 协议的要点。三、实验设备环境 1 台装有ms windows 系列操作系统的计算机,能够连接到internet,并已安装wireshark 软件。4、 实验步骤(1)准备工作1. 下载 wireshark 软件并了解其功能和使用方法。2. 确保计算机已经连接到网络。3. 启动 wireshark1,设置捕获接口(interface)为本机网卡,选中混杂模式(promiscuousmode)捕获选项,设置合适的捕获过滤器(capture filter):l 对于 ping 命令,设
3、置过滤器为icmpl 对于 dhcp 消息,设置过滤器为udp port 67l 对于 arp 消息,设置过滤器为arpl 对于通过网页浏览应用来捕获 tcp 消息,设置过滤器为 tcp port 804. 开始捕获。 (2) 数据捕获 捕获icmp 协议数据1. 运行 ping 命令(例如:c> ping 192.168.0.1),远程主机地址可以是本机地址、网关路由器地址,也可以是域名(如)。将捕获到的数据保存为文件。2. 使用 windows 中ping 命令的-l 选项(例如:c>ping -l 8000 192.168.0.1),制作大于8000 字节的ip 包并发送,捕
4、获后分析其分段传输的包结构。捕获 dhcp 协议数据1. 使用 ipconfig 命令释放计算机的ip 地址(c>ipconfig -release);2. 使用 ipconfig 命令重新申请ip 地址(c>ipconfig -renew)。此时 wireshark 窗口中可以捕获到完整的dhcp 地址分配的流程,将捕获到的数据保存为文件。捕获 arp 协议数据采用与捕获 dhcp 协议数据相同的方法释放ip 地址并重新申请,在wireshark 窗口中可以捕获到arp 请求和响应消息,保存为文件。捕获 tcp 协议数据打开浏览器,输入一个页面内容较简单网页url,如;网页全部显
5、示后关闭浏览器。(3) 协议分析运行wireshark 软件,打开所捕获的数据文件,完成下列分析工作:1. ip 包头分析:对于采用ping 命令-l 选项捕获的icmp 消息,对承载icmp 消息的ip 包进行分析,记录包头各字段的值,对照讲义和教材分析各字段的功能,并对于校验和和分段进行验证; 对于 windows vista 和windows 7 操作系统,需要以管理员身份运行;2. icmp 消息分析:记录并分析icmp 消息中分析各字段的功能;3. dhcp 消息分析:针对一次地址分配过程(transaction id 相同的4 个消息),分析其通信过程,画出地址分配的消息序列图,并
6、记录采用dhcp 协议配置的各个参数。4. arp 消息分析:对照讲义理解arp 的操作过程,记录并分析消息中各字段的功能。5. tcp 报头及消息分析:针对tcp 连接建立、连接释放、数据和应答报文段,对照讲义和教材分析各字段的功能;针对一次完整的tcp 通信过程,画出消息序列图,应包含连接建立、数据传送和连接释放阶段。上述分析工作应在实验报告中进行详细描述,具体要求参见第 9 节。(4) 撰写实验报告 按要求撰写实验报告,对于捕获到的数据进行认真分析,归纳各协议的工作原理和实现要点。5、 实验分析1. ip协议分析1)采用ping 命令-l 选项捕获的icmp 消息字 段 报 文(16进制
7、)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05dc数组分组长1500字节标识14a0标识为5280标志01mf=1 df=0,允许分片,为第一片,片偏移00偏移量为0生存周期40每跳生存时间为64秒协议01携带数据来自icmp协议头部校验和6530ip头部校验和为6530源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为211.68.69.254 字 段 报 文(16进制)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05dc数组分组长1500字节标识14a0标识为5280标志
8、01mf=1 df=0,允许分片,为第二片,片偏移05cb偏移量为1480生存周期40每跳生存时间为64秒协议01携带数据来自icmp协议头部校验和6477ip头部校验和为6477源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为211.68.69.254字 段 报 文(16进制)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05dc数组分组长1500字节标识14a0标识为5280标志01mf=1 df=0,允许分片,为第三片,片偏移0b90偏移量为2960生存周期40每跳生存时间为64秒协议01携带数据来自icmp协
9、议头部校验和63beip头部校验和为63be源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为211.68.69.254字 段 报 文(16进制)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05dc数组分组长1500字节标识14a0标识为5280标志01mf=1 df=0,允许分片,为第四片,片偏移1158偏移量为4440生存周期40每跳生存时间为64秒协议01携带数据来自icmp协议头部校验和6305ip头部校验和为6305源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为2
10、11.68.69.254字 段 报 文(16进制)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05dc数组分组长1500字节标识14a0标识为5280标志01mf=1 df=0,允许分片,为第五片,片偏移1720偏移量为5920生存周期40每跳生存时间为64秒协议01携带数据来自icmp协议头部校验和624cip头部校验和为624c源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为211.68.69.254字 段 报 文(16进制)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度02
11、74数组分组长628字节标识14a0标识为5280标志00mf=0 df=0,允许分片,为最后一片片偏移1ce8偏移量为7400生存周期40每跳生存时间为64秒协议01携带数据来自icmp协议头部校验和84fbip头部校验和为84fb源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为211.68.69.2542)ip包头校验和的校验原理当数据到达时,所有的16位(半字)累加起来,然后再取结果的补码。字 段 报 文(16进制)内 容包头长度45包头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度003c数组长度60字节标识148a标识为5258
12、标志00mf=0 df=0,允许分片,为最后一片片偏移0偏移量为0生存周期40每跳生存时间为64秒协议01携带数据来自icmp协议头部校验和8ae6ip头部校验和为8ae6源地址c0a80166源地址为192.168.1.102目的地址d34445fe目的地址为211.68.69.254450003c0a620004018ae6 192.168.1.102 211.68.69.2544,5 and 0->01000101 00000000003c ->00000000 00111100148a ->00010100 1000101000 and 0 ->00000000
13、 0000000040 and 1 ->01000000 000000018ae6 ->10001010 11100110192.168 ->11000000 10101000 1.102 ->00000001 01100110211.68 ->11010011 0100010069.254 ->01000101 11111110简单求和后发现结果为:1111 1111 1111 1111 符合条件,是正确的包,即ip头部校验和为8ae6是正确的。.(。)3)ip包分段原理:首先同一个数据报的所有分段包含同样的identification(标识)值,同时每一
14、个分段使用df、mf和offset来表示该分段的信息。 df代表不分段(dont fragment),它让路由器不要分割该数据报,因为目标主机无法将分片重组回原来的数据报,而数据报在分段后,此位置0; mf表示更多的分段(more fragment),除了最后一个分段以外其他所有的分段必须设置这一位,将其置1,最后一个分段置0;fragment offset分段偏移域指明了该分段在当前数据报中的什么位置上。除了一个数据包的最后一个分段以外,其他所有的分段必须是8字节的倍数,这里8字节是基本分段单位。由截获的数据报来看,一共六段,除第一段offset为0外,其他各段偏移量为1480的倍数,也即前
15、边每一段数据报(除包头)的长度,1480也为8的倍数,由此指明了各段在当前数据包中的位置。同时,除最后一段mf为0外,其他各段mf为1,表明各段不是一个完整的数据报,而是分割之后形成的分段。2. icmp 协议分析1) icmp 的功能icmp报文被封装在ip包里,并且icmp协议数据包对ip分组在传送时出现的异常情况进行报告,对ip报文传输时出现的差错、拥塞、路由改变、以及路由器或主机信息的获取等情况,向源端主机提交报告,由源主机采取相应措施,改进传输质量。其中有destination un reachable、time exceeded、source quench、redirect、ech
16、o and echo reply、time stamp request and reply几种不同功能的icmp报文。2) 记录 icmp 的包格式,自己查找资料总结各字段的功能。icmp协议包构成:前8字节由报文类型(1字节)、代码(1字节)、校验和(2字节),选项部分(4字节)。icmp报文分为两大类差错报告报文与询问报文,差错报文共有五种、询问报文有两种下图为icmp请求包type类型为8 code代码为0 checksum校验和为4d2c identifier(大端表示)为1(小端表示)为256 sequence number序列号(大端表示)为47,(小端表示)为12032下图icm
17、p应答包type类型为0 code代码为0 checksum校验和为552c identifier(大端表示)为1(小端表示)为256 sequence number序列号(大端表示)为47,(小端表示)为12032由此可见,请求和应答数据包的区别在于类型,请求包为type8,而应答包为type0。icmp与ip协议同处于tcp/ip模型的网际层,但icmp报文是封装在ip数据报的数据部分进行传输的。3. dhcp 协议分析1) 对照讲义和教材理解 dhcp 的功能,观察dhcp ack 消息的各字段,自己查找资料理解各字段的功能,总结采用dhcp 协议可以提供哪些配置参数。 dhcp是动态主
18、机配置协议(dynamic host configuration protocol)的简称,它提供对于远程主机的自动配置,包括ip地址、路由地址、子网掩码、dns服务器地址,是一个应用层上的协议。 作为bootp的拓展,它的作用是给内部网络或网络服务供应商自动分配ip地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。它也是client-server的范例。下图是dhcp ack消息包含的各字段message typeboot reply(2)操作码hardware typeethernet硬件类型hardware address length6硬件地址长度hops0跳数trans
19、action id0xe4c5866c事务标识seconds elapsed0过去的秒数client ip address0.0.0.0客户ipyour ip address192.168.1.108你的主机ip地址next server ip address0.0.0.0下一个服务器的ip地址relay agent ip address0.0.0.0中介代理的ip地址client mac address58:94:6b:4a:cd:28客户mac地址dhcp message typedhcp ack(5)dhcp消息类型server identifier192.168.1.1供应商标识符su
20、bnet mask255.255.255.0子网掩码router192.168.1.1路由ip address lease time2 hoursip地址的租用时间domain name server: 10.3.9.4 /10.3.9.5 域名服务器dhcp向网络主机提供配置参数,它由两个基本部分组成:一部分是向网络主机传送专用的配置信息,另一部分是给主机分配网络地址。dhcp是用于向客户传送配置信息的,客户从dhcp服务器那里获得配置信息后应该可以和internet上任何一台主机通信。在初始化一台主机时并不需要配置所有这些参数,客户和服务器可以通过一种商讨机制决定传送哪些参数。dhcp允许
21、(不要求)客户参数配置不直接与ip协议相关,而且它也不将最加入的主机加入域名系统(dns)中。2) 根据捕获到消息,画出 dhcp 地址分配过程的消息序列图。注意dhcp 是采用client-server 模式工作的,你捕获到的消息中,dhcp server 是否由路由器充当?是否有dhcp relay?1 . 执行ipconfig/renew更新所有适配器,由于本地主机没有被分配到ip地址,并且也不知道dhcp服务器的地址,所以发送dhcp discover报文时,源地址为0.0.0.0,目的地址为255.255.255.255。本地网络上的所有主机都能收到dhcp discover报文。
22、2 只有dhcp服务器收到这个dhcp,discover报文后,向网络广播dhcp offer报文作为回复。 3 本地主机(0.0.0.0)收到dhcp offer报文后,向dhcp服务器发送dhcp request报文 4dhcp(192.168.1.1)服务器收到dhcp request报文后,回复dhcp ack报文,给本地主机分配一个ip地址。本地主机就得到了一个临时ip地址(192.168.1.108)。至此四次握手完成。在我捕获到的消息中,dhcp sever由路由器充当,无dhcp relay,因为在同一网段内。4. arp 协议分析1) 根据捕获到的消息,对照讲义,理解 arp
23、 的功能和操作原理。本地局域网内的主机用广播的方式发送arp报文,来获取彼此的硬件地址。 arp基本功能:在以太网协议中规定,同一局域网中的一台主机要和另一台主机迚行直接通信,必须要知道目标主机的mac地址。而在tcp/ip协议栈中,网络层和传输层只关心目标主机的ip地址。这就导致在以太网中使用ip协议时,数据链路层的以太网协议接到上层ip协议提供的数据中,只包含目的主机的ip地址。于是需要一种方法,根据目的主机的ip地址,获得其mac地址。这就是arp协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标ip地址转换成目标mac地址的过程。2) 记录 a
24、rp 的包格式,自己查找资料总结各字段的功能。arp报文的格式: 硬件类型:指明硬件的类型,以太网是1。 协议类型:指明发送者映射到数据链路标识的网络层协议的类型;ip对应0x0800。 硬件地址长度:也就是mac地址的长度,单位是字节,这里是6。 协议地址长度:网络层地址的长度,即ip地址长度,单位是字节。 操作:指明是arp请求(1)还是arp应答(2) 剩下的字段都比较简单,不作说明5、 tcp 协议分析1) 对照讲义和教材理解tcp 报文段的首部各字段的功能,以表格的方式总结每个字段的名字、长度和功能。源端口和目的端口域标明了一个连接的两个端点(16位)+(16位)序列号发送tcp包的
25、序列(32位)确认号指定下一个期望的字节(32位)tcp头长度指明在头部tcp头部包含多少个32位的字(4位)+后边的(6位保留位)+(6位标志域)urg用来指示出紧急数据在当前数据段中的位置ack表示是否包含确认信息push表示这是带有push标志的数据rst被用于重置一个已经混乱的连接syn被用于建立连接的过程fin被用于释放一个连接窗口大小表示接收方的窗口大小(16位)校验和提供额外可靠性(16位)紧急指针16位,指向后面是优先数据的字节,在urg标志设置了时才有效可选项:长度不定,但长度必须以字节。如果没有 选项就表示这个一字节的域等于0。 数据的开始处偏移量能够被32整除,一般额外的
26、零以保证tcp头是32位的整数倍。2) 针对连接建立消息和连接释放消息,分析相应标志位和序号的作用,参照讲义中的示例画出连接建立和连接释放过程的消息序列图,在图上标出对应的标志位和序号。 建立连接: 在 tcp/ip 协议中,tcp 协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手: 建立连接时, 客户端发送 syn 包(syn=j)到服务器, 并进入 syn_send 状态,等待服务器确认; 第二次握手:服务器收到 syn 包,必须确认客户的 syn(ack=j+1),同时自己 也发送一个 syn 包(syn=k),即 syn+ack 包,此时服务器进入 syn_recv 状态
27、; 第三次握手:客户端收到服务器的 synack 包,向服务器发送确认包 ack(ack=k+1),此包发送完毕,客户端和服务器进入 established 状态,完成三 次握手。 完成三次握手,客户端与服务器开始传送数据 释放连接: 虽然tcp连接是全双工的,但可将其视为一对单工连接,每个连接单独释放,两个单工之间独立。步骤:(1) 客户端1发送一个fin,用来关闭1到2的数据发送(2) 服务器2收到这个fin,它发回一个ack,确认序号为收到的序号+1,和syn一样,一个fin将占用一个序号(3) 服务器2关闭与客户端1的连接,发送一个fin给客户端1(4) 客户端1发回ack报文确认,并
28、将确认信号设置为收到序号+1 3) 针对 tcp 的数据传输过程中的数据报文段和应答报文段,分析发送序号、应答序号、应答标志位、窗口大小、数据长度、mss 等字段的作用,参照讲义中的示例画出数据传输过程的消息序列图,其中应包括数据校验错和数据丢失导致的数据重传情形,在图上应标出对应的序号、标志位和窗口大小。 每个tcp报文头部都包含源端口号(source port)和目的端口号(destination port),用于标识和区分源端设备和目的端设备的应用进程。在tcp/ip协议栈中,源端口号和目的端口号分别与源ip地址和目的ip地址组成套接字(socket),唯一的确定一条tcp连接。 序列号(sequence number)字段用来标识tcp源端设备向目的端设备发送的字节流,它表示在这个报文段中的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则tcp用序列号对每个字节进行计数。序列号是一个32bits的数。 既然每个传输的字节都被计数,确认序号(acknowledgement number,32bits)包含发送确认的一端所期望接收到的下一个序号。因此,确认序号应该是上次已成功收到的数据字节序列号加1。 tcp的流量控制由连接的每一端通过声明的窗口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小班幼儿防拐防骗安全教育实践
- 快递行业客户经理工作汇报
- 2025国内货物买卖合同范本
- 2025年国际许可合同范本-版权许可合同
- 我的教育故事课件
- 2025届安徽省滁州市定远育才学校高考模拟历史试题(含答案)
- 2025年电力资产运行委托合同示例
- 2025临时工劳动合同样本
- 2024-2025教科版科学一年级下册期中考试卷附答案
- 2025小学道德与法治教师课标考试模拟试卷及答案
- 小学三年级音乐《马兰谣》课件
- “当代文化参与”学习任务群相关单元的设计思路与教学建议课件(共51张PPT)
- 提高卧床患者踝泵运动的执行率品管圈汇报书模板课件
- 同理心的应用教学教材课件
- DB4102-T 025-2021海绵城市建设施工与质量验收规范-(高清现行)
- 城市轨道交通安全管理隐患清单
- 锡膏使用记录表
- 儿童保健学课件:绪论
- 中小学校园安全稳定工作岗位责任清单
- 校园安全存在问题及对策
- NY∕T 309-1996 全国耕地类型区、耕地地力等级划分
评论
0/150
提交评论