《网络协议分析》实验指导书 - 图文(7)

2019-01-07 13:12

《网络协议分析》实验指导书

实验五 TCP 协议分析

一.实验目的:

1.熟悉TCP协议的报文格式

2.掌握TCP协议建立连接和断开连接的过程和步骤; 3.了解基于TCP协议进行数据传输的过程。

二.实验内容

1.捕获TCP报文,并进行分析。 2.理解UDP和TCP协议的区别

三.实验原理

1.TCP 协议介绍

TCP 是传输控制协议 (Transmission Control Protocal)的缩写,提供面向连接的可靠的传输服务。在TCP/IP 体系中,HTTP、FTP、SMTP 等协议都是使用TCP方式传输的。

(1)TCP 报文格式

图14 TCP 报文段格式

TCP 报文分为首部和数据两个部分。如图14 所示,TCP 报文段首部的前20 字节是固定的,后面有4 ×n 字节是可选项。其中:

* 源端口和目的端口:各2 字节,用于区分源端和目的端的多个应用程序; * 序号:4 字节,指本报文段所发送的数据的第一字节的序号;

* 确认序号:4 字节,是期望下次接收的数据的第一字节的编号,表示该编号以前的数据已安全接收。

* 数据偏移:4 位,指数据开始部分距报文段开始的距离,即报文段首部的长度,以32bit为单位。

* 标志字段:共有六个标志位:

① 紧急位URG=1 时,表明该报文要尽快传送,紧急指针启用;

② 确认位ACK=1 时,表头的确认号才有效;ACK=0,是连接请求报文;

③ 急迫位 PSH=1 时,表示请求接收端的TCP 将本报文段立即传送到其应用层,而不是等到整个缓存都填满后才向上传递;

④ 复位位RST=1 时,表明出现了严重差错,必须释放连接,然后再重建连接;

第 31 页 共 49 页

《网络协议分析》实验指导书

⑤ 同步位 SYN=1 时,表明该报文段是一个连接请求或连接响应报文,

⑥ 终止位FIN=1 时,表明要发送的字符串已经发送完毕,并要求释放连接。 * 窗口:2 字节,指该报文段发送者的接收窗口的大小,单位为字节; * 校验和:2 字节,对报文的首部和数据部分进行校验;

* 紧急指针:2 字节,指明本报文段中紧急数据的最后一个字节的序号,和紧急位 URG配合使用;

* 选项:长度可变,若该字段长度不够四字节,有填充补齐。

(2)TCP 连接的建立

TCP 连接的建立采用 “三次握手”的方法。

一般情况下,双方连接的建立由其中一方发起。如图15(a)所示:

* 主机A 首先向主机B 发出连接请求报文段,其首部的SYN 同步位为1,同时选择一个序号x;

* 主机B 收到此连接请求报文后,若同意建立连接,则向主机A 发连接响应报文段。在响应报文段中,SYN 同步位为1,确认序号为x+1,同时也为自己选择一个序列号y;

* 主机A 收到此确认报文后,也向主机B 确认,这时,序号为x+1,确认序号为y+1 。 当连接建立后,A、B 主机就可以利用TCP 进行数据传输了。

图15 TCP 的连接和释放

(3)TCP 连接的释放

在数据传输结束后,任何一方都可以发出释放连接的请求,释放连接采用所谓的 “四次握手”方法。如图15(b)所示,假如主机A 首先向主机 B 提出释放连接的请求,其过程如下:

* 主机A向主机B 发送释放连接的报文段,其中,FIN 终止位为 1,序号x 等于前面已经发送数据的最后一个字节的序号加 1;

* 主机B 对释放连接请求进行确认,其序号等于x+1。这时从A 到B 的连接已经释放,连接处于半关闭状态,以后主机B 不再接收主机A 的数据。但主机B 还可以向主机A发送数据,主机A在收到主机B 的数据时仍然向主机B 发送确认信息。

* 当主机B不再向主机A 发送数据时,主机B 也向主机A 发释放连接的请求; * 同样主机A 收到该报文段后也向主机B 发送确认。 (4)TCP 数据传输

TCP 可以通过检验序号和确认号来判断丢失、重复的报文段,从而保证传输的可靠性。TCP 将要传送的报文看成是由一个个字节组成的数据流,对每个字节编一个序号。在连接建立时,双方商定初始序号(即连接请求报文段中的SEQ 值)。TCP 将每次所传送的第一个字节的序号放在 TCP 首

第 32 页 共 49 页

《网络协议分析》实验指导书

部的序号字段中,接收方的TCP 对收到每个报文段进行确认,在其确认报文中的确认号字段的值表示其希望接收的下一个报文段的第一个数据字节的序号。

由于TCP 能提供全双工通信,因此,通信中的每一方不必专门发送确认报文段,而可以在发送数据时,捎带传送确认信息,以此来提高传输效率。

2.实验环境与说明

试验中使用浏览器访问web服务器,利用HTTP协议使用TCP进行传输开展实验。每位同学自为为一小组,每小组各自独立完成实验。 (注:如果实验时无法连入外网,则可以自行使用IIS服务器提供HTTP服务)

3.实验步骤

步骤1:参看本机的网络设置,验证网络连通性;

步骤2:运行Wireshark,开始截获报文,为了只截获到与我们实验有关的内容,将截获条件设置为WEB服务器的IP 地址,如截获条件为“host 211.70.176.23 ”;

步骤3:在PC2上打开浏览器,访问www.hnnu.edu.cn

步骤4:关闭浏览器,停止截获报文,按下列要求分析截获的结果:

1)结合本节TCP 协议介绍部分的内容,分析TCP 连接建立的 “三次握手”过程,找到对应的报文,填写表8(传输方向填写客户机->服务器或相反)。 表8 TCP 连接建立报文分析 报文号 传输方向 源端口 目的端口 序 号 确认序号 同步位 SYN 确认位 ACK 注意:Wireshark 协议树中TCP 协议下的“SEQ/ACK analysis”的内容 (这不是TCP 报文的真实内容,而是Wireshark 给我们提供信息),找到TCP 数据传输报文的序号和确认报文

2)从报文中的第一个FIN=1的TCP 报文开始分析 TCP 连接释放的 “四次握手”过程,填写表9。

表9 TCP 连接连接释放报文分析 报文号 传输方向 源端口 目的端口

序号 确认序号 终止位FIN 同步位SYN 确认位ACK 5. 应用层协议分析

网络体系结构中的最高层是应用层,它包括了所有的高层协议,并且随着网络应用的日益推广,不断有新的协议加入。TCP/IP 体系的应用层协议主要有:

第 33 页 共 49 页

《网络协议分析》实验指导书

*动态主机配置协议DHCP:用于网络中计算机网络的自动配置; * 域名服务DNS (Domain Name System),用于实现互联网中主机域名到IP 地址的映射功能; * 文件传输协议FTP(File Transfer Protocol),用于实现互联网中交互式文件传输; * 超文本传输协议HTTP(Hyper Text Transfer Protocol),用于WWW 服务。 * 电子邮件协议SMTP (Simple Mail Transfer Protocol)和POP3 (Post Office Protocol),用于实现电子邮件的传送和读取功能;

* 远程终端协议TELNET,用于实现互联网中远程登录功能;

计算机通信的对象是应用层中的应用进程,在 TCP/IP 体系中,两个应用进程采用客户服务器方式进行通信。客户服务器方式描述进程之间服务和被服务关系。当A 进程需要B 进程的服务时,A 是客户,B 是服务器。也许在下次通信时,B 需要A 的服务,此时,B 是客户而A 是服务器。客户与服务器的通信关系一旦建立,通信就可以是双向的,客户和服务器都可以发送和接收信息。

实验六 DHCP协议分析

一.实验目的:

1.理解DHCP协议的工作原理及工作过程; 2.熟悉DHCP协议报文并对报文进行分析;

二.实验内容

捕获DHCP报文,并进行分析。

三.实验原理

1.DHCP协议介绍

DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,是一种局域网的网络协议,基于UDP协议工作。

DHCP有客户端和服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。DHCP有3个端口,其中67和68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4。

DHCP为客户端分配地址的方法有三种:手工配置、自动配置、动态配置。DHCP最重要的功能就是动态分配。除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码。这使得客户端无需用户动手就能自动配置连接网络。 2. DHCP的工作流程

(1)Discover发现阶段:即DHCP客户机寻找DHCP服务器的阶段。此时客户端没有IP地址,也

不知道服务器的IP地址,DHCP客户机以广播方式(即向地址255.255.255.255)发送DHCP discover报文来寻找DHCP服务器。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。

(2)Offer提供阶段: 即DHCP服务器提供IP地址的阶段。接收到DHCP discover报文的DHCP

服务器都会做出响应,即向DHCP客户机发送一个包含还未出租的IP地址和其他设置的DHCP offer报文信息。

(3)Request选择阶段:即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多

台DHCP服务器发来DHCP offer,则客户机只接受第一个,然后就以广播方式回答一个DHCP

第 34 页 共 49 页

《网络协议分析》实验指导书

request请求信息,该信息中包含了它所选定的DHCP服务器的IP地址和服务器提供给客户端的IP地址等内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。 (4)ACK确认阶段:即DHCP服务器对客户机的应答,确认提供IP地址。当服务器收到DHCP request

之后,便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ACK报文,告诉DHCP客户机可以使用该IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器将收回曾提供的IP地址。

(5)重新登录,以后DHCP客户机每次重新登录网络时,不需要再发送DHCP discover了,而是直

接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ACK确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP NACK否认信息。当原来的DHCP客户机收到此DHCP NACK否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。 (6)更新租约,DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP

服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。 3. DHCP协议报文

DHCP协议报文的格式如图16所示,括号内为长度。 OP(1) Htype(1) Hlen(1) Hops(1) Transaction ID(4) Seconds(2) Ciaddr(4) Yiaddr(4) Siaddr(4) Giaddr(4) Chaddr(16) Sname(64) File(128) Options(variable) 图16 DHCP协议报文格式

报文解析: 1)OP(1):DHCP报文的操作类型,“1”为客户端向服务器发送请求的报文,“2”为服务器响应

客户端的报文; 2)Htype(1):客户端网络硬件地址类型,“1”表示客户端的网络硬件是10MB的以太网类型(Ethernet); 3)Hlen(1):客户端的网络硬件地址长度。“6”表示Client 的网络硬件地址长度是6bytes(即以太

网类型的6 bytes的MAC地址); 4)Hops(1):跳数,即DHCP报文经过的DHCP RELAY(中继)数,每经过一个DHCP RELAY

该字段就加一,此字段的作用是限制DHCP报文不要经过太多的DHCP RELAY,协议规定,当

第 35 页 共 49 页

Flags(2)


《网络协议分析》实验指导书 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高一英语阅读理解试题(故事类)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: