当前位置:文档之家› 实验五、传输层协议分析

实验五、传输层协议分析

南华大学计算机学院

实验报告

课程名称计算机网络原理

姓名周宝

学号 20144330103 专业物联网

任课教师谭邦

日期 2016年5月21日

成绩

南华大学

实验五、传输层协议分析

5.1. 实验目的

理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的作用。

5.2 实验内容

应用TCP应用程序传输文件,截取TCP报文,分析TCP报文首部信息,TCP连接的建立过程,TCP数据的编号和确认机制。

5.3 实验原理

TCP协议是传输控制协议的简称,工作在网络层协议之上,是面向连接的,可靠的,端到端的传输层协议。

1.TCP的报文格式

TCP报文段分为头部和数据两部分,如图1:

图1 TCP报文段的总体结构

TCP报文段首部又分为固定部分和选项部分,固定部分为20B,如图2所示,这些字段的组合实现了TCP的所有功能。

图2 TCP报文段的首部

TCP采用传输输连接的方式传送TCP报文,传输连接包括连接建立、数据传输和连接释放三个阶段。

2.TCP连接的建立

TCP连接建立采用“3次握手”方式。

首先,主机A的TCP向主机B的TCP发出连接请求报文段,其首部中的同步位SYN应置1,同时选择一个序号X,表明在后面传送数据时的第一个数据字节的序号是X+1,如图3所示:

主动打开被动打开连接请求

确认

确认

图3 TCP连接建立的3次握手过程

然后,主机B的TCP收到连接请求报文段后,若同意,则发回确认。在确认报文段中应将SYN和ACK都置1,确认号应为X+1,同时也为自己选择一个序号Y。

最后,主机A的TCP收到B的确认后,要向B发回确认,其ACK置1,确认号为Y+1,而自己的序号为X+1。TCP的标准规定,SYN置1的报文段都要消耗掉一个序号。

同时,运行客户进程的主机A的TCP通知上层应用进程,连接已经建立。当主机A向B发送第一个数据报文段时,其序号仍为X+1,因为前一个确认报文段并不消耗序号。

当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接已经建立。

另外,在TCP连接建立的过程中,还利用TCP报文段首部的选项字段进行双方最大报文段长度MSS协商,确定报文段的数据字段的最大长度。双方都将自己能够支持的MSS写入选项字段,比较之后,取较小的值赋给MSS,并应用于数据传送阶段。

3. TCP数据的传送

为了保证TCP传输的可靠性,TCP采用面向字节的方式,将报文段的数据部分进行编号,每个字节对应一个序号。并在连接建立时,双方商定初始序号。在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方希望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。这样既做到了可靠传输,又做到了全双工通信。

当然,数据传送阶段有许多复杂的问题和情况,如流量控制、拥塞控制、重传机制等,本次实验不探究。

4.TCP连接的释放

在数据传输结束后,通信的双方都可以发出释放连接的请求。TCP连接的释放采用“4次握手”。如图

应用进

放连接A不再发送报文

放连接确认

B不再发送报文

A

图4 TCP 连接释放的4次握手过程

首先,设图4中主机A 的应用进程先向其TCP 发出释放连接的请求,并且不再发送数据。TCP 通知对方要释放从A 到B 这个方向的连接,将发往主机B 的TCP 报文段首部的中止位置1,其序号X 等于前面已传送过的数据的最后一个字节的序号加1。

主机B 的TCP 收到释放连接通知后即发出确认,其序号为Y ,确认号为X+1,同时通知高层应用进程,如图中的箭头①。这样从A 到B 的连接就被释放了,连接处于半关闭状态,相当于主机A 对主机B 说“我已经没有数据发送了。但是如果你还有数据要发送,我仍然接收。”

此后,主机B 不再接收A 发来的数据。但若主机B 还有一些数据要发给A ,则可以继续发送(这种情况很少)。主机A 只要正确收到数据,仍然向B 发送确认。

若主机B 不再向主机A 发送数据,其应用进程就通知TCP 释放连接,如图中的箭头②。主机B 发出的连接释放报文段必须将中止位FIN 和确认位ACK 置1,并使其序号仍为Y (因为签名发送的确认报文段不消耗序号),但是还必须重复上次已经发送过的ACK =X+1。主机A 必须对此发出确认,将ACK 置1,ACK=Y+1,而自己的序号仍然是X+1,因为根据TCP 标准,前面发送过的FIN 报文段要消耗掉一个序号。这样就把B 到A 的反方向的连接释放掉。主机A 的TCP 再向其应用进程报告,整个连接已经全部释放。 5.4 实验步骤

步骤1 在sniffer 中设置过滤条件,协议为TCP HTTP ,地址为本机->any ,并开始截获报文

步骤2 打开http://biz.doczj.com/doc/044864208.html, ,完成后,分析捕获的报文。

这里,TCP 的连接和建立采用的是: 三次握手 方式,本机是 我的电脑 ,远端主机是 广西大学官网 。

步骤3 分析TCP 连接建立过程的前3个报文,填写下表1:

步骤4 分析截获报文中数据发送部分的第一条TCP报文及其确认报文,将报文中的字段值填写在表格2中。

步骤5 TCP连接建立时,其报文首部与其它TCP报文不同,有一个option字段,它的作用是什么?结合IEEE802.3协议规定的以太网最大帧长分析此数据是怎么得出来的?

步骤6 分析TCP数据传送阶段的前8个报文,将报文信息填入表3:

5.5 试验总结

在实验中,通过分析截获的TCP报文首部信息,可以看到首部中的序号、确认号等字段是TCP可靠连接的基础。

分析TCP头部信息,分析“3次握手”过程。通过对数据传送阶段报文的初步分析,了解数据的编码和确认机制。

总之,TCP协议中的各项设置都是为了在数据传输时提供可靠的面向连接的服务。

第5章 传输层协议与传输层软件编程方法(练习)

第5章传输层协议与传输层软件编程方法(练习) 【例1】以下关于应用进程、传输层接口与套接字的描述中,错误的是()。 A)应用进程是在应用程序开发者控制下工作的,它不依赖于主机操作系统 B)传输层的TCP或UDP协议是在主机操作系统控制下工作的 C)一个IP地址与一个进程标识叫做一个“套接字”或“套接字地址” D)套接字也叫做应用程序编程接口(API) 设计该例题的目的是加深读者对应用进程、传输层接口与套接字的理解。 【例2】以下关于网络环境中应用进程标识的描述中,错误的是()。 A)IANA定义的端口号有:熟知端口号、注册端口号和临时端口号 B)客户程序使用的临时端口号的数值范围在49 152~65 535 C)服务器程序分配的熟知端口号值的范围在0~1023 D)所有的传输层协议都使用了统一的熟知端口号和临时端口号 设计该例题的目的是加深读者对网络环境中应用进程标识的理解。 【例3】以下关于TCP与UDP协议特点的比较中,错误的是()。 A)TCP面向连接,UDP无连接 B)TCP基于字节流,UDP基于报文 C)TCP提供可靠的报文传输,UDP提供的是尽力而为地交付 D)TCP传输速率高于UDP传输速率 设计该例题的目的是加深读者对TCP与UDP协议特点的理解。 【例4】假设IJDP报头的十六进制数为06 32 00 45 00 1C E2 17。求: 1)源端口号与目的端口号。 2)用户数据长度。 3)这个数据报是客户端发出还是服务器端发出的? 4)使用UDP协议的服务器是哪种类型? 设计该例题的目的是检查读者对UDP协议报头结构,以及UDP协议熟知端口号的理解。 【例5】以下关于UDP协议适用范围的描述中,错误的是()。 A)系统对性能的要求高于对数据安全性的要求 B)需要“简短快捷”的数据交换 C)需要多播和广播的应用 D)适用于实时语音与视频传输的传输层协议

实验五、传输层协议分析

南华大学计算机学院 实验报告 课程名称计算机网络原理 姓名周宝 学号 20144330103 专业物联网 任课教师谭邦 日期 2016年5月21日 成绩 南华大学

实验五、传输层协议分析 5.1. 实验目的 理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的作用。 5.2 实验内容 应用TCP应用程序传输文件,截取TCP报文,分析TCP报文首部信息,TCP连接的建立过程,TCP数据的编号和确认机制。 5.3 实验原理 TCP协议是传输控制协议的简称,工作在网络层协议之上,是面向连接的,可靠的,端到端的传输层协议。 1.TCP的报文格式 TCP报文段分为头部和数据两部分,如图1: 图1 TCP报文段的总体结构 TCP报文段首部又分为固定部分和选项部分,固定部分为20B,如图2所示,这些字段的组合实现了TCP的所有功能。 图2 TCP报文段的首部 TCP采用传输输连接的方式传送TCP报文,传输连接包括连接建立、数据传输和连接释放三个阶段。 2.TCP连接的建立 TCP连接建立采用“3次握手”方式。 首先,主机A的TCP向主机B的TCP发出连接请求报文段,其首部中的同步位SYN应置1,同时选择一个序号X,表明在后面传送数据时的第一个数据字节的序号是X+1,如图3所示:

主动打开被动打开连接请求 确认 确认 图3 TCP连接建立的3次握手过程 然后,主机B的TCP收到连接请求报文段后,若同意,则发回确认。在确认报文段中应将SYN和ACK都置1,确认号应为X+1,同时也为自己选择一个序号Y。 最后,主机A的TCP收到B的确认后,要向B发回确认,其ACK置1,确认号为Y+1,而自己的序号为X+1。TCP的标准规定,SYN置1的报文段都要消耗掉一个序号。 同时,运行客户进程的主机A的TCP通知上层应用进程,连接已经建立。当主机A向B发送第一个数据报文段时,其序号仍为X+1,因为前一个确认报文段并不消耗序号。 当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接已经建立。 另外,在TCP连接建立的过程中,还利用TCP报文段首部的选项字段进行双方最大报文段长度MSS协商,确定报文段的数据字段的最大长度。双方都将自己能够支持的MSS写入选项字段,比较之后,取较小的值赋给MSS,并应用于数据传送阶段。 3. TCP数据的传送 为了保证TCP传输的可靠性,TCP采用面向字节的方式,将报文段的数据部分进行编号,每个字节对应一个序号。并在连接建立时,双方商定初始序号。在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方希望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。这样既做到了可靠传输,又做到了全双工通信。 当然,数据传送阶段有许多复杂的问题和情况,如流量控制、拥塞控制、重传机制等,本次实验不探究。 4.TCP连接的释放 在数据传输结束后,通信的双方都可以发出释放连接的请求。TCP连接的释放采用“4次握手”。如图

传输控制协议(TCP)

《计算机网络实验》实验报告 实验名称:传输控制协议(TCP) 年级: 专业:班级: 姓名: 学号:成绩: 指导教师:卢正添 提交报告时间: 2012年 5月3 日 实验目的 1.掌握TCP协议的报文格式 2.掌握TCP连接的建立和释放过程

3.掌握TCP数据传输中编号与确认的过程 4.掌握TCP协议校验和的计算方法 5.理解TCP重传机制 实验环境配置 该实验采用网络结构一 实验步骤 练习一 1.主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。 2.主机C打开TCP工具,类型选择“服务器”,端口填写大于1024的值;点击“创建”,如 果端口被占用则选择其它。主机A打开TCP工具,类型选择“客户端”,地址填入主机C 的IP地址;在端口填入主机C的TCP工具监听的端口;点击[连接]按钮进行连接。 3.察看主机B、C、D捕获的数据,填写下表。 CP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 maximum segment size=1460

4.主机A断开与主机C的TCP连接。 5.察看主机B、C、D捕获的数据,填写下表。

练习二 ?本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组,现仅以主机A和B为例,说明实验步骤。 ?在本实验中由于TCP连接有超时时间的限制,故仿真编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。 ?为了实现TCP三次握手过程的仿真,发送第一个连接请求帧之前,仿真端主机应该使用“仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能来防止系统干扰(否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。 ?通过手工编辑TCP数据包实验,要求理解实现TCP连接建立、数据传输以及断开连接的全过程。 在编辑的过程中注意体会TCP首部中的序列号和标志位的作用。 首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请求报文,对应答的确认报文和断开连接的报文也编辑发送。其步骤如下: 1.主机B启动协议分析器捕获数据,设置过滤条件(提取HTTP协议)。 2.主机A上启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用仿真 编辑器打开时默认的以太网帧进行编辑。 3.填写该帧的以太网协议首部,其中: 源MAC地址:主机A的MAC地址。 目的MAC地址:服务器的MAC地址。 协议类型或数据长度:0800(IP协议)。 4.填写IP协议头信息,其中: 高层协议类型:6(上层协议为TCP)。 总长度:40(IP首部+TCP首部)。 源IP地址:主机A的IP地址。

网络协议分析软件的使用实验报告

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络B 班级: 姓名: 学号: 教师: 信息工程学院测控系

一、实验目的 基于网络协议分析工具Wireshark(原为Ethereal),通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高TCP/IP协议的分析能力和应用技能。 二、实验前的准备 ● 二人一组,分组实验; ● 熟悉Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ● 安装软件工具Wireshark,并了解其功能、工作原理和使用方法; ● 安装任一种端口扫描工具; ● 阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Wireshark工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.40.41为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写host 210.31.38.94; (2)开始抓包; (3)在DOS下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”: IP.Addr=210.31.38.94 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。(7)针对重要内容截屏,并解析协议字段中的内容,一并写入WORD文档中。

分析:从这个数据包的分析结果来看我们可以得知: 数据包的到达时间为2013年11月28日14:43:15 帧的序号为20411 帧的长度为74bytes(592bits),同时抓取的长度也是74bytes,说明没有丢失数据 目的MAC地址为00:25:11::4b:7a:6e 源MAC地址为00:25:11:4b:7d:6e 使用的协议为Ipv4 网络层的首部长度为20bytes 目的Ip地址为222.31.38.94 源Ip地址为222.31.38.93 数据没有分片说明数据大小没有超过最大传输单元MUT,其中用到了ICMP协议,数据包的生存周期为128 头部校验和为0x01正确 ICMP的校验和为0x01序列号为2304 数据有32bytes 3.3 TRACERT命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8 (2)校外:tracert http://biz.doczj.com/doc/044864208.html,

实验五 应用层协议分析一

实验五应用层协议分析1 实验目的: 掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程; 。 实验类型:验证 实验学时:3学时 实验内容及方法: 观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程 实验仪器设备:计算机、Ethereal软件。 实验步骤: 1.观察http协议过程。 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)从浏览器上访问http://biz.doczj.com/doc/044864208.html,页面,具体操作为打开网页,浏览网页,关掉网页。 (3)停止Ethereal的报文截获。 捕获的数据包如下

(4)通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。 1、分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP 请求报文(即get 报文),另一条是HTTP应答报文,将报文信息填入 表5-1. 表5-1HTTP报文 No. Source Destination Info. 457 192.168.231.55 202.193.160.38 GET /HTTP/1.1 479 202.193.160.38 192.168.231.55 HTTP/1.1 200 OK(text/html) 2、分析HTTP协议请求报文格式:分析1、中选择的HTTP请求报文(即 get 报文)中各字段的实际值并填写表5-2。 表5-2 HTTP 请求报文格式 字段名字段取值字段表达信息 方法字段GET 获取包含在请求中的 URI所标识的信息 URI / 版本字段HTTP/1.1 支持的http版本 首部字段Accept:*/*\r\n 客户端可识别的内容

TCP传输控制协议

传输控制协议(英语:Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。 在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP 为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。 运作方式

TCP连接包括三个状态:连接创建、数据传送和连接终止。 通路的创建 TCP用三路握手(three-way handshake)过程创建一个连接。在连接创建过程中,很多参数要被初始化,例如序号被初始化以保证按序传输和连接的强壮性。 TCP连接的正常创建 一对终端同时初始化一个它们之间的连接是可能的。但通常是由一端打开一个套接字(socket)然后监听来自另一方的连接,这就是通常所指的被动打开(passive open)。服务器端被被动打开以后,用户端就能开始创建主动打开(active open)。 1.客户端通过向服务器端发送一个SYN来创建一个主动打开,作 为三路握手的一部分。 2.服务器端应当为一个合法的SYN回送一个SYN/ACK。 3.最后,客户端再发送一个ACK。这样就完成了三路握手,并进 入了连接创建状态。

计算机网络实验 应用层协议详情与配置实验报告材料格式

昆明理工大学信息工程与自动化学院学生实验报告 (2010—2011 学年第 1 学期) 课程名称:计算机网络开课实验室:2315 2010年12 月25日年级、专业、班计科083学号200810405325 姓名杨绍宏成绩 实验项目名称应用层协议与配置指导教师缪祥华老师 教师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 年月日 一、实验目的及内容 通过本次实验,使学生学会在windows系统上搭建域名服务器;理解正向反向域名解析的原理。 二、实验原理及基本技术路线图(方框原理图或程序流程图) 学会安装DNS服务器,学会配置DNS服务器属性,掌握nslookup命令的使用;要求详细记录配置步骤,并对所有的域名使用nslookup进行测试,记录测试结果。 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 参考环境为:PC 2台,可使用windows系统自带的DNS组件,也可以使用其他的DNS服务器版本; 四、实验方法、步骤(或:程序代码或操作过程) 1.安装DNS服务器; 2.添加DNS区域; 区域名为http://biz.doczj.com/doc/044864208.html, 。xxx为学生的姓名拼音。 3.配置DNS属性;yy为学生学号的后两位 (1).客户可以通过 dns. http://biz.doczj.com/doc/044864208.html, 域名访问 192.168.yy.53,支持反向域名解析 (2).客户可以通过 http://biz.doczj.com/doc/044864208.html, 域名访问 192.168.yy.80,支持反向域名解析 (3).客户可以通过 http://biz.doczj.com/doc/044864208.html, 域名访问 192.168.yy.25,支持反向域名解析 (4).客户可以通过 mail2. http://biz.doczj.com/doc/044864208.html, 域名访问 192.168.yy.26 (5).客户可以通过 smtp. http://biz.doczj.com/doc/044864208.html, 域名访问 192.168.yy.25,是http://biz.doczj.com/doc/044864208.html,的别名

(参考)应用层网络协议分析

HTTP网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如TCP/IP、网卡(NIC)等,仍可以使用IE来浏览本地的HTML文档。可如果我们试图浏览必须使用HTTP 的文档,或者用FTP下载一个文件,事情就没那么容易了。此时,IE将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(OSI模型中为表示层,TCP/IP模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,HTTP则是其中一种。 HTTP(超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 HTTP是基于请求/响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的HTTP文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问HTTP的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图1-1: 图1-1 根据图连接好以及配好相应IP后,测试网络互通。而后,在server上建立HTTP服务器。首先在控制面板\添加删除程序\添加删除Windows组件中查看Internet信息服务(IIS)是否装上,若没有则安装,若安装好,则可以进入管理工具\Internet服务管理器,在默认WEB站点下建立自己的站点及目录。而后,在client浏览器地址栏中键入http://31.0.0.1便可浏览位于server端默认站点目录下网页。 在此过程中,我们通过Ethereal所抓的数据包如下: 1、数据链路层:

实验八协议分析器程序的设计和实现

实验八协议分析器程序的设计和实现 1.实验目的: (1)掌握对网络上传输数据包的捕获方法。 (2)解析Ethernet网数据帧头部的全部信息。 (3)解析IP、ICMP数据包 (4) 解析传输层和应用层相关协议的头部信息 (5)设置过滤规则,能过滤相应协议的数据包。 (6)要求有良好的编程规范与注释信息,要求有详细的说明文档,包括程序的设计思想、活动图、关键问题以及解决方法。 2实验环境: (1)VC6.0 (2)局域网能连接Internet。 3.程序设计的关键问题以及解决方法有哪些? 当应用程序通过IP网络传送数据时,数据被送入TCP/IP协议栈中,然后从上至下逐一通过每一层,直到最后被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息,这个过程被称作封装。通过以太网传输的比特流称作帧。在传输的另一端,当目的主机收到一个以太网数据帧时,数据就开始从协议栈由底向上逐层解析,去掉各层协议所加上的报文头部。每层协议均要检查报文头部中的协议标识字段,以确定要接收数据的上层协议,最终从报文中解析出应用层数据后交给应用程序处理。 本次要编写的协议分析器,就是从网络中捕获数据包并对其进行解析的过程。因此,我们需要了解每层协议所规定的报文格式,然后由底向上逐层对数据包进行解码,最后将分析的结果显示出来。 4.描述程序设计过程,并画出程序活动图。 协议分析器总体结构: 协议分析器的整体结构按功能应分为三个部分,自底向上分别是数据捕获模块、协议解析模块和用户显示模块。

数据包捕获流程: 捕获数据包的算法一般分为以下几步: (1)获取并列出当前网络设备列表。 (2)由用户选择并打开指定网卡。 (3)根据过滤规则设置过滤器。 捕获数据包并进行解析处理: 协议解析模块: 对捕获的数据包按照数据链路层(MAC)、网络层(IP、ARP/RARP)、传输层(TCP、UDP、ICMP)和应用层(HTTP等)的层次结构自底向上进行解析,最后将解析结果显示输出。

实验七 TCP传输控制协议

实验七 TCP传输控制协议 (本次实验中FTP服务器IP地址为202.117.144.29,用户名为anonymous,密码为空) 一实验目的 1、掌握 TCP 协议的工作原理; 2、理解 TCP 协议的通信过程。 二实验内容 1、理解 TCP 首部中各字段的含义及作用; 2、理解三次握手的过程; 3、能够分析 TCP 协议的建立连接、会话和断开连接的全过程; 4、学会计算 TCP 校验和的方法; 5、了解 TCP 的标志字段的作用。 三实验环境

四实验流程 五实验原理 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由 IETF 的RFC 793 说明。在简化的计算机网络 OSI 模型中,它完成运输层所指定的功能。该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP 协议可以进行 IP 数据包的分割和组装,但是通过 IP 协议并不能清楚地了解到数据包是否顺利地发送给目标计算机。而使用 TCP 协议就不同了,在该协议传输模式中在将数据包成功发送给目标计算机后,TCP 会要求发送一个确认;如果在某个时限内没有收到确认,那么 TCP 将重新发送数据包。另外,在传

输的过程中,如果接收到无序、丢失以及被破坏的数据包,TCP 还可以负责恢复。 TCP 协议是面向连接的、端到端的可靠传输协议,它支持多种网络应用程序。TCP 必须解决可靠性,流量控制的问题,能够为上层应用程序提供多个接口,同时为多个应用程序提供数据,TCP 也必须能够解决通信安全性的问题。 1、 TCP 的封装如图所示: TCP数据包 IP首部TCP首部TCP数据 IP数据报 2、 TCP 的首部格式如图所示: 16位源端口16位目的端口 32位序列号 32位确认序列号 4位首部长度保留(6位) U R G A C K P S H R S T S Y N F I N 16位窗口大小16位校验和16位紧急指针 字段说明: 16 位源端口号和 16 位目的端口号:端口号通常也称为进程地址。 32 位序号:序号用来标识从 TCP 发送端向 TCP 接收端发送的数据字节流。(该报文数据在发送方的数据流中的位置)

实验二 利用分组嗅探器(ethereal)分析协议HTTP

实验二利用分组嗅探器(ethereal)分析协议HTTP 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE等软件。 三、实验步骤 1、HTTP GET/response交互 首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。 (1)启动Web browser。 (2)启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 (3)一分钟以后,开始Ethereal分组俘获。 (4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件): http://biz.doczj.com/doc/044864208.html,/ethereal-labs/HTTP-ethereal-file1.html (5)停止分组俘获。 窗口如图1所示。根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。 图1分组俘获窗口 2、HTTP 条件GET/response交互 (1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet 选项”命令,在出现的对话框中,选择“删除文件”)。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。

(3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/044864208.html,/ethereal-labs/HTTP-ethereal-file2.html,你的浏览 器中将显示一个具有五行的非常简单的HTML文件。 (4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (5)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的7-10题。 3、获取长文件 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/044864208.html,/ethereal-labs/HTTP-ethereal-file3.html,浏览器将 显示一个相当大的美国权力法案。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的11-13题。 4、嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/044864208.html,/ethereal-labs/HTTP-ethereal-file4.html,浏览器将 显示一个具有两个图片的短HTTP文件 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的15-16题。 5、HTTP认证 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: http://biz.doczj.com/doc/044864208.html,/ethereal-labs/protected_pages/HTTP-ethereal-fil e5.html,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名: eth-students,密码:networks)。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的17-18题。 四、实验报告内容 在实验的基础上,回答以下问题: (1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?147.10250 192.168.01 239.255.255.250 ssdp NOTIFY HTTP/1.1 (2)你的浏览器向服务器指出它能接收何种语言版本的对象?英文 (3)你的计算机的IP地址是多少?服务器http://biz.doczj.com/doc/044864208.html,的IP地址是多少? 192.168.0.136,当在web broswer中输入http://biz.doczj.com/doc/044864208.html,时,在抓取得到: 15.556518 192.168.01 239.255.255.250 ssdp NOTIFY HTTP/1.1

应用层网络协议分析

网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如、网卡()等,仍可以使用来浏览本地的文档。可如果我们试图浏览必须使用的文档,或者用下载一个文件,事情就没那么容易了。此时,将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(模型中为表示层,模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,则是其中一种。 (超文本传输协议)是客户端浏览器或其他程序与服务器之间的应用层通信协议。在上的服务器上存放的都是超文本信息,客户机需要通过协议传输所要访问的超文本信息。包含命令和传输信息,不仅可用于访问,也可以用于其他因特网内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 是基于请求响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图: 图 根据图连接好以及配好相应后,测试网络互通。而后,在上建立服务器。首先在控制面板\添加删除程序\添加删除组件中查看信息服务()是否装上,若没有则安装,若安装好,则可以进入管理工具\服务管理器,在默认站点下建立自己的站点及目录。而后,在浏览器地址栏中键入:便可浏览位于端默认站点目录下网页。 在此过程中,我们通过所抓的数据包如下: 、数据链路层: ( , )表示第个帧,传输个字节,捕获个字节,包中的 :

实验三传输层TCP协议的讲解

沈阳工程学院 学生实验报告 实验室名称:信息学院网络实验室 实验课程名称:计算机网络 实验项目名称:实验三传输层TCP协议的分析 班级:姓名:学号: 实验日期:2015 年11月24日实验台编号:指导教师:批阅教师(签字):成绩:

一.实验目的 ●掌握传输层TCP协议分析方法,了解传输层TCP协议内容 二.实验内容 ●捕获传输层TCP协议数据 ●并分析传输协议原理 三.实验前的准备 ●了解传输层TCP协议的数据单元格式 ●了解传输层TCP协议规程 ●熟悉至少一种网络抓包软件的使用方法。 四.实验要求及实验软硬件环境 【基本要求】 ●按实验内容进行知识准备 ●按照预订实验步骤操作,并记录实验结果 ●分析实验记录,并得出结论 ●完成此项实验,完成实验报告。 【实验组织方式】 ●个人实验 【实验条件】 ●微机与网络环境。 五.实验步骤 1.建立网络模型: 2.连接以后进行三次握手建立连接,传输数据和释放连接,并且截下各个部分所捕获的数据 3.利用PC0向SERVERO获取数据,捕捉在由PCO传向SERVERO的TCP协议报文以及反向的TCP协议报文。 4.分析捕捉的TCP协议报文的格式。

六.实验结果记录 1.由PCO向SERVERO的TCP协议报文。 图2 PCO向SERVERO的TCP协议报文。 2. 由SERVERO向PCO的TCP协议报文。

图3 SERVERO向PCO的TCP协议报文

七.结果分析 通过分析在试验结果的TCP协议报文的知道了TCP协议报文的格式,TCP 协议报文由TCP首部和数据部分组成。并且TCP首部报文的前二十字节是固定的,如图4所示。 图4 TCP前20字节的固定报文 1.分析上图的TCP协议的报文得到如下结论: 源端口号( 16位):它(连同源主机 IP地址)标识源主机的一个应用进程。图片中的来源端口地址为 80。 目的端口号( 16位):它(连同目的主机 IP地址)标识目的主机的一个应用进程。这两个值加上 IP报头中的源主机 IP地址和目的主机 IP地址唯一确定一个 TCP连接。图片中的目的端口为1025。 顺序号( 32位):用来标识从 TCP源端向 TCP目的端发送的数据字节流,它表示在这个报文段中的第一个数据字节的顺序号。如果将字节流看作在两个应用程序间的单向流动,则 TCP用顺序号对每个字节进行计数。序号是 32bit的无符号数,序号到达 2 32- 1后又从 0开始。当建立一个新的连接时, SYN标志变 1,顺序号字段包含由这个主机选择的该连接的初始顺序号 ISN( Initial Sequence Number)。图片中的序号为0。 确认号( 32位):包含发送确认的一端所期望收到的下一个顺序号。因此,确认序号应当是上次已成功收到数据字节顺序号加 1。只有 ACK标志为 1时确认序号字段才有效。 TCP为应用层提供全双工服务,这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据顺序号。上图的确认号为1。 TCP报头长度( 4位):给出报头中 32bit字的数目,它实际上指明数据

ModbusTCP通讯协议

Modbus TCP通讯协议 一、适用范围及默认规范 此Modbus TCP协议适用于EIO、ADC系列产品。协议中所有数值如无特殊说明,均为16进制。Modbus浮点数为标准的IEEE格式,Modbus 32位长整数据为4字节无符号整数(unisigned long)组态软件支持此Modbus TCP协议,可以直接使用。 二、读开关量输入 1.功能码、寄存器地址、偏移 功能码:01 地址:两个地址,分别用于读入全部开关量状态或单独读一路开关量输入状态。描述如下。 [0A]--读全部开关量输入状态。 [3C]--读第1路开关量输入状态,递增1为下一路,如3D为第二路。以此类推。地址偏移:可为任意值,建议为0000。 在使用组态软件时,正确填写地址,地址偏移填写任意值即可。 2.Modbus TCP格式(网口) 读全部开关量输入状态发送报文:[0000000000] [06] [01] [01] [000A] [0001] 读第1路开关量输入状态发送报文:[0000000000] [06] [01] [01] [003C] [0000] [00 00 00 00 00]:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。

[06]:剩余数据长度,说明还剩6个字节等待接收。使用组态软件时,自动设置。 [01]:子设备ID。Modbus TCP忽略。 [01]:Modbus TCP 功能码01 [00 0A]或[00 3C]:寄存器地址,高位字节在前,低位字节在后。 [00 00]:寄存器地址偏移,设备忽略此数据,只设置寄存器地址即可工作,设置成0000即可。 读全部开关量输入状态应答报文:[00 00 00 00 00] [04] [01] [01] [01] [42] 读一路开关量输入状态应答报文:[00 00 00 00 00] [04] [01] [01] [01] [01] [00 00 00 00 00]:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。 [04]:剩余数据长度,说明还剩4个字节等待接收。使用组态软件时,自动设置。 [01]:子设备ID。Modbus TCP忽略。 [01]:Modbus TCP 功能码01 [01]:返回字节数,1个字节的8个bit对应8路输入,接通/低电平时,对应的bit 置1,否则置0。8路输入设备返回01,16路输入设备返回02,以此类推。[42]或[01]:对于读全部开关量输入状态报文,此处为开关量输入状态字节,bit0对应input1,接通/低电平为1,否则为0。此处为0100 0010,说明Input2、Input7为接通或低电平状态。其他为断开或高电平状态。 对于读一路开关量输入状态报文,此字节为01说明为接通/低电平状态,00为断开/高电平状态。 三、读模拟量、温湿度输入(保持寄存器)

实验一应用协议与数据包分析实验使用

《计算机网络》 实验报告 信息安全1201 吴淑珍 2015年4月1日 1.实验报告内容包括:实验目的、实验内容、实验程序和程序流程图、实验步骤、记录中间结果和最终结果。 实验一应用协议与数据包分析实验(使用Wireshark) 一、实验目的 通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。 二、实验内容 学习HTTP 协议,了解HTTP 的工作原理和HTTP 报文格式。运行Wireshark,截获在浏览器访问web 界面的报文,并根据截获的报文分析其格式与内容,进一步学习HTTP 协议工作过程。 三、实验步骤 步骤1:在PC 机上运行Wireshark,开始截获报文; 步骤2:从浏览器上访问Web 界面,如.。打开网页,待浏览器的状态栏出现“完毕”信息后关闭网页。 步骤3:停止截获报文,将截获的报文命名为http-学号保存。 步骤4:分析截获的报文。 四、实验结果 分析截获的报文,回答以下几个问题: 1)综合分析截获的报文,查看有几种HTTP 报文? 答:两种,一种是请求报文,请求行方法为GET(有一个截去顶端的GET);另一种是响应报文。 2)在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的HTTP 应答报文,仔细 分析它们的格式,填写表和表。

*GET方法首部行后面没有实体主体。 *实体主体部分为服务器发送给客户的对象。 ***查找的资料 Content-Length用于描述HTTP消息实体的传输长度。在HTTP协议中,消息实体长度和消息实体的传输长度是有区别,比如说gzip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。 在具体的HTTP交互中,客户端是如何获取消息长度的呢,主要基于以下几个规则: 响应为1xx,204,304相应或者head请求,则直接忽视掉消息实体内容。 如果有Transfer-Encoding,则优先采用Transfer-Encoding里面的方法来找到对应的长度。比如说Chunked模式。

实验六 TCP传输控制协议

实验六TCP传输控制协议实验目的 1、掌握TCP协议的工作原理; 2、理解TCP协议的通信过程。 实验学时 4学时 实验类型 综合型 实验内容 1、理解TCP首部中各字段的含义及作用; 2、理解三次握手的过程; 3、能够分析TCP协议的建立连接、会话和断开连接的全过程; 4、学会计算TCP校验和的方法; 5、了解TCP的标志字段的作用。 实验流程

局域网环境,1台PC机。 实验原理 详见理论教材。 实验步骤

步骤1:设定实验环境 1、配置主机IP和路由器IP地址; 2、按照实验拓扑连接网络拓扑。 步骤2:利用网络协议分析软件捕获并分析IP数据包 1、连接远程FTP服务; 2、开启协议分析软件,进行数据包抓包; 3、利用工具栏中的TCP连接工具对FTp服务器发起连接,如下图所示。 TCP连接工具 在IP地址中填入FTP服务器地址172.16.1.253,端口填入FTP服务端口21,然后点击连接。 捕获到的三次握手报文。 三次握手第一次连接 查看上图TCP报文中的报头部分: 源端口:1627,由于发起连接的是客户端,因此源端口为TCP程序随机出的短暂端口,在此连接中是1627。

目的端口:21,由于是向FTP服务发起连接,因此目的端口为FTP服务的熟知端口,为21。 序列号:0XE9999DE15,此序列号为TCP程序随机出的字节编号。 确认序号:0X00000000,第一个发出的连接请求中,确认号为0。 TCP首部长度:7,TCP首部长度包括TCP报头长度和数据长度,这个字段表示TCP报头长度,其中20字节为标准TCP报头长度,另有8字节选项字段长度,选项字段中和服务器端协商了最大报文段长度。 标识位:SYN位置1,只有TCP连接中三次握手第一次连接的报文段中SYN位置1。 窗口大小:65535,默认大小。 校验和:0X58F3,校验和是对TCP报头、数据和伪首部进行计算得出的校验和。 急指针:0,当紧急标识位置1时,此16位字段才有效,说明此时报文段中包含紧急数据,紧急数据到达接收端后可以不按次序优先被接受程序处理。 TCP三次握手过程中第二个报文如下图所示。 TCP三次握手第二个报文 查看上图中的TCP报头: 源端口:21,服务端的源端口为相关服务的熟知端口,FTP服务端口为TCP21。 目的端口:1627,为客户端源端口复制过来得到。 序列号:0X2346F3FF,为服务端随机计算出的字节序号。 确认序列号:0XE9999DE16,确认序列号的功能是对发送端数据进行确认,为发送端序号 0XE9999DE15+1得到。 TCP首部长度:7,包含20字节标准TCP首部长度和8字节选项长度。 标志位:SYN位和ACK位置1,表示此报文为TCP三次握手的第二个报文。 窗口大小:65535,为默认大小。 校验和:0X419C,TCP校验和为TCP首部、数据和伪首部三部分计算得出校验和。

实验三 利用Wireshark分析IP协议_ x10226

计算机网络实验报告 年级:信科102 姓名:吴文姝学号: 10111226 实验日期: 2012年9月25日 实验名称:利用wireshark分析IP协议 一、实验目的 理解IP协议报文类型和格式,掌握IP V4 地址的编址方法。 二、实验器材 1、接入Internet的计算机主机; 2、抓包工具wireshark; 三、实验内容 Ping 命令只有在安装了TCP/IP 协议之后才可以使用,其命令格式如下: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] target_name 这里对实验中可能用到的参数解释如下: -t :用户所在主机不断向目标主机发送回送请求报文,直到用户中断; -n count:指定要Ping 多少次,具体次数由后面的count 来指定,缺省值为4; -l size:指定发送到目标主机的数据包的大小,默认为32 字节,最大值是65,527; -w timeout:指定超时间隔,单位为毫秒; target_name:指定要ping 的远程计算机。 1、IP协议分析实验 使用Ping 命令发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。 2、IP 数据报分片实验 IP 报文要交给数据链路层封装后才能发送,理想情况下,每个IP 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳1500 字节的数据;FDDI帧最多可容纳4470 字节的数据。这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。 TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个

相关主题