实验六 TCP传输控制协议
传输控制协议

传输控制协议概述传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
它位于OSI模型的第四层——传输层,为不同主机上的应用程序提供可靠数据传输。
TCP确保数据包按顺序到达并实现错误检测与恢复,从而保障数据传输的完整性。
TCP的主要特点- 面向连接:在数据传输前需要建立连接。
- 可靠传输:通过序列号、确认应答、超时重传等机制保证数据的可靠传输。
- 流量控制:使用滑动窗口机制进行流量控制,防止发送方过快导致接收方处理不过来。
- 拥塞控制:通过拥塞控制算法避免网络拥塞。
- 全双工通信:允许数据在两个方向上同时传输。
TCP连接的建立和终止建立连接(三次握手)1. 客户端发送带有SYN标志的数据段以建立连接。
2. 服务器响应一个带有SYN/ACK标志的数据段以确认请求。
3. 客户端发送一个带有ACK标志的数据段以确认服务器的响应。
终止连接(四次挥手)1. 主机A发送一个FIN,表示数据传送完毕。
2. 主机B收到后发送ACK确认。
3. 主机B完成数据处理后发送一个FIN给主机A。
4. 主机A收到后发送ACK确认,至此双方连接终止。
TCP报文格式TCP报文包括以下几个部分:源端口号、目标端口号、序列号、确认号、头部长度、保留字段、控制标志、窗口大小、校验和以及紧急指针。
其中控制标志包括SYN、ACK、FIN、RST、URG等。
TCP的可靠性TCP通过多种方式保证数据传输的可靠性:- 序列号和确认应答:每个TCP段都包含一个序列号和一个确认号,用于跟踪数据的发送和接收状态。
- 超时重传:如果在一定时间内没有收到确认应答,TCP会重新发送数据段。
- 错误检测和修正:通过校验和检测数据是否在传输过程中出现错误。
- 流量控制:通过滑动窗口机制控制数据的流量,防止接收方缓冲区溢出。
TCP与UDP的区别- TCP是面向连接的,而UDP是无连接的。
tcp协议分析实验报告

TCP协议分析实验报告1. 引言TCP(传输控制协议)是一种面向连接的协议,用于在计算机网络中可靠地传输数据。
本实验旨在分析TCP协议的工作原理、数据包的格式和传输过程,并通过实验验证其可靠性和效率。
2. 实验环境在该实验中,我们使用了两台计算机作为实验设备,一台作为服务器,另一台作为客户端。
两台计算机通过以太网连接,并配置了相应的IP地址和子网掩码。
3. 实验步骤3.1 建立连接首先,客户端发送一个SYN包(同步包)到服务器的指定端口。
服务器收到SYN包后,发送一个SYN-ACK包(同步-确认包)作为响应。
客户端再次发送一个ACK包(确认包)给服务器,表示连接已建立。
3.2 数据传输一旦连接建立,客户端和服务器之间可以开始传输数据。
数据被分割成多个小的数据包,并使用TCP协议进行传输。
每个数据包都包含源端口、目的端口、序列号、确认号以及数据内容等字段。
3.3 确认和重传在传输过程中,接收方会发送确认包以确认已接收到的数据包。
如果发送方在一定时间内没有收到确认包,它会认为数据包丢失,然后重新发送该数据包。
这样可以确保数据的可靠性。
3.4 连接终止当数据传输完成后,客户端或服务器可以发送一个FIN包(结束包)来关闭连接。
接收到FIN包的一方发送一个ACK包作为确认,并关闭连接。
另一方在收到确认后也关闭连接。
4. 实验结果通过抓包工具,我们捕获并分析了在实验中传输的数据包。
我们观察到数据包的格式与TCP协议规定的格式相符,并且在传输过程中发现了确认和重传的情况,验证了TCP协议的可靠性。
5. 实验总结TCP协议是一种可靠的传输协议,在实验中我们深入了解了其工作原理和数据包的格式。
通过实验验证了TCP协议的可靠性和效率。
同时,我们也了解到了TCP协议在实际网络通信中的重要性和广泛应用。
参考文献•Tanenbaum, A. S., & Wetherall, D. J. (2011). 计算机网络(第5版).机械工业出版社.•Stevens, W. R., Wright, G., & Coppola, R. (1994). TCP/IP 详解卷1:协议. 机械工业出版社.本文档旨在介绍TCP协议的工作原理和实验验证过程,并不涉及具体的技术细节和算法解析。
传输控制协议

传输控制协议传输控制协议(Transmission Control Protocol,简称TCP)是一种常用的网络传输协议,位于网络协议栈的传输层,是Internet协议族中最核心的协议之一,其主要功能是在IP层提供可靠的、面向连接的数据传输服务。
TCP是一种面向连接的协议,通信的双方需要先建立连接,才能进行数据传输。
连接的建立过程涉及到三次握手,即发送方向接收方发送一个SYN报文,接收方回送一个SYN+ACK报文,最后发送方回送一个ACK报文,这个过程结束后连接就建立,数据传输可以开始。
TCP的传输过程是可靠的,其通过一系列的机制来保证数据的传输正确性和顺序性。
首先,TCP将要传输的数据划分为一组组的小数据包,称为TCP分节,每一个分节都有唯一的序号,通过序号的比较,接收方可以保证接收到的数据包是按照正确的顺序组成的。
其次,TCP使用校验和来检测数据是否被篡改或损坏,如果发现错误,将抛弃该分节并请求发送方重新发送。
更重要的是,TCP使用们只为超时重传的机制,不断重试某一分节,直到接收方成功收到为止,这些机制保证了数据传输的可靠性。
TCP还拥有拥堵控制功能,它能够对其所在的“网路”进行闲忙测量,并根据网络情况和负载状况调整发送数据的速度,可有效避免网络拥塞和数据丢失。
此外,TCP还有流量控制机制,通过实现接收方告知发送方可以接受的数据量来控制传输的速度,避免发送方向接收方发送过多的数据,从而导致网络拥堵。
总体而言,TCP是一种非常可靠和稳定的网络传输协议,广泛应用于互联网和局域网等场景中。
与其他传输协议相比,TCP 天生就是面向连接的,所以它建立连接所需的时间较长,但是具有可靠性和稳定性非常高。
TCP协议的稳定性和可靠性都为互联网的运行提供了很强的保障。
TCP 协议不仅仅被应用于HTTP、FTP、SMTP等应用层协议,同时还被用作以太网、ATM、FDDI等数据链路层协议,可以说是现代计算机网络中最为重要的一部分。
TCP协议实验

TCP协议实验协议名称:TCP协议实验协议1. 引言TCP(传输控制协议)是一种面向连接的、可靠的传输层协议,广泛应用于互联网通信中。
本实验协议旨在通过实践操作,深入理解TCP协议的工作原理、特性和性能。
2. 实验目的本实验旨在帮助学生通过实际操作,加深对TCP协议的理解,包括如下方面:- 学习TCP协议的基本工作原理;- 掌握TCP协议的连接建立、数据传输和连接释放过程;- 熟悉TCP协议的可靠性机制和流量控制;- 了解TCP协议的拥塞控制机制和性能优化策略。
3. 实验环境- 操作系统:Windows 10 / macOS / Linux- 软件工具:Wireshark(用于网络数据包的捕获和分析)4. 实验任务本实验包括以下任务:任务1:TCP连接建立和释放- 步骤1:准备两台计算机,并确保网络连接正常。
- 步骤2:使用Wireshark捕获计算机A和计算机B之间的TCP连接建立和释放过程的数据包。
- 步骤3:分析捕获到的数据包,了解TCP连接建立和释放的过程、相关字段的含义和作用。
任务2:TCP数据传输和可靠性机制- 步骤1:准备两台计算机,并确保网络连接正常。
- 步骤2:使用Wireshark捕获计算机A向计算机B发送数据的过程中的数据包。
- 步骤3:分析捕获到的数据包,了解TCP的数据传输机制、序号和确认号的作用、超时重传机制等。
任务3:TCP流量控制和拥塞控制- 步骤1:准备两台计算机,并确保网络连接正常。
- 步骤2:使用Wireshark捕获计算机A向计算机B发送大量数据时的数据包。
- 步骤3:分析捕获到的数据包,了解TCP的流量控制机制、滑动窗口的作用以及拥塞控制的原理。
任务4:TCP性能优化- 步骤1:准备两台计算机,并确保网络连接正常。
- 步骤2:使用Wireshark捕获计算机A和计算机B之间进行TCP通信时的数据包。
- 步骤3:分析捕获到的数据包,了解TCP的性能优化策略,如快速重传、快速恢复、拥塞避免等。
实验六 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协议的工作原理、特点和应用进行介绍,以便读者对其有更深入的了解。
TCP协议的工作原理主要包括三个阶段,建立连接、数据传输和连接释放。
首先,在建立连接阶段,客户端和服务器端之间通过三次握手建立连接,以确认彼此的身份和通信参数。
接下来,在数据传输阶段,双方通过序号和确认号机制,实现了数据的可靠传输。
最后,在连接释放阶段,双方通过四次挥手释放连接,以确保数据的完整性和可靠性。
TCP协议的特点主要包括可靠性、面向连接、流量控制和拥塞控制等。
首先,TCP协议通过序号和确认号机制,实现了数据的可靠传输,能够确保数据的完整性和可靠性。
其次,TCP协议是一种面向连接的协议,通信双方在传输数据之前需要先建立连接,以确保通信的可靠性。
此外,TCP协议还通过流量控制和拥塞控制机制,实现了对网络传输的有效管理,避免了网络拥堵和数据丢失的情况。
TCP协议在互联网中有着广泛的应用,主要包括网页浏览、电子邮件、文件传输和远程登录等。
首先,在网页浏览中,TCP协议通过HTTP协议实现了对网页数据的可靠传输,确保了用户能够顺利地浏览网页内容。
其次,在电子邮件中,TCP 协议通过SMTP和POP3等协议实现了对邮件数据的可靠传输,确保了邮件的及时发送和接收。
此外,在文件传输和远程登录中,TCP协议通过FTP和SSH等协议实现了对文件和命令的可靠传输,确保了数据的安全和完整性。
总之,TCP协议作为互联网中最重要的协议之一,通过其可靠的数据传输和有效的流量控制机制,实现了对网络通信的有效管理和控制。
通过本文的介绍,相信读者对TCP协议有了更深入的了解,能够更好地应用于实际的网络通信中。
传输控制协议(TCP)

《计算机网络实验》实验报告实验名称:传输控制协议TCP年级:专业:班级:姓名:学号:成绩:指导教师:提交报告时间:年月日一、实验项目名称传输控制协议(TCP)二、实验目的1、掌握TCP 协议的报文形式;2、掌握TCP 连接的建立和释放过程;3、掌握TCP 数据传输中编号与确认的过程;4、掌握TCP协议校验和的计算方法;5、理解TCP 重传机制。
三、实验主要硬件软件环境PC机,Windows操作系统。
实验环境:四、实验内容及步骤练习1 查看TCP连接的建立和释放各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组。
现仅以主机 A 和 B 为例,其他组参考主机A、B的操作。
1. 主机B启动协议分析器捕获数据,并设置过滤条件(提取TCP协议)。
2. 主机A启动TCP工具连接主机B。
(1)主机A启动实验平台工具栏中的“地址本工具”。
点击[主机扫描]按钮获取组内主机信息,选中主机B点击[端口扫描]按钮获取主机B的TCP端口列表。
(2)主机A启动实验平台工具栏中的“TCP工具”。
选中“客户端”单选框,在“地址”文本框中填入主机B的IP地址,在“端口”文本框中填入主机B的一个TCP 端口,点击[连接]按钮进行连接。
●TCP连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。
答:1460;由发送端指定,表明了能在网络上传输的最大的段尺寸;maximum segment size = MTU –20(IP首部)-20(TCP首部)。
4. 主机A断开与主机B的TCP连接。
5. 察看主机B捕获的数据,填写下表。
●结合步骤3、5所填的表,理解TCP的三次握手建立连接和四次握手的释放连接过程,理解序号、确认号等字段在TCP可靠连接中所起的作用。
传输控制协议TCP是怎样进行工作的

1.TCP介绍传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP 则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。
之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。
然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传(超时重传)。
2.TCP工作过程首先,我们可以很明显从图中看出,tcp工作需要分两个主体,一个客户端,一个服务器。
我用超级大白话来帮助理解:①tcp服务器买部手机插上电话卡设置手机为正常的接听状态等待他人来电②在程序中的创建socket套接字绑定本机地址信息设置套接字为被动连接等待客户端的连接收发数据我们先运行这个程序,然后打开网络调试助手进行连接:然后我们在服务器端口发送消息至客户端:当然,我们也可以脱离网络调试助手,我们自己协议简易客户端程序:同样地,手机要先开机才能接电话,所以先运行服务器,再运行客户端:切换到服务器:回到客户端:同样也是非常简单,客户端的写法只需要发送建立连接即可,也就是通过connect方法拨通电话。
当然,你也可以选择加入循环语句进行循环收发,但想要达到聊天软件那种收发无规律的效果,还是需要并发编程(后面我也会出的)。
3.TCP工作方式(原理)1)、三次握手TCP是因特网中的传输层协议,使用三次握手协议建立连接。
当主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的SYN 执行ACK 确认。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六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首部、数据和伪首部三部分计算得出校验和。
紧急指针:0。
TCP三次握手过程中第二个报文如下图所示。
TCP三次握手第三个报文查看TCP三次握手第三个报文首部:源端口:1627,同一个连接发送的数据,源端口保持不变。
目的端口:21,对同一个服务发送的数据段中的目的端口保持不变。
序列号:0XE9999DE,为前一个数据段序列号加1。
确认序号:0X2346F3FF,由于此报文是对服务端发回的连接应答消息的确认,因此是上一个报文序号0X2346F3FF加1。
TCP首部长度:5,标准TCP首部长度为5*4字节=20字节。
标识位:TCP三次握手第三个报文段ACK位置1。
窗口大小:65535,默认窗口大小。
校验和:0X6E60,为TCP首部、数据、伪首部计算得出的校验和。
紧急指针:0,未使用紧急指针。
通过上面的TCP三次握手的报文,可以很清楚的分析出在TCP连接建立时,客户端和服务端所进行的工作。
三次报文的重要区别在于标识位的不同,第一个报文,SYN位置1,第二个报文是对第一个报文的确认,SYN位置1,ACK位置1,第三个报文是确认报文,ACK位置1。
分析段将显示出整个TCP连接的过程,如下图步骤3:查看本地TCP状态1、在浏览器的地址栏输入:,在命令行下输入:netstat-n回车,如图:2、观察TCP状态,记录Local Address、Foreign Address和State。
3、在浏览器的地址栏输入:,在命令行下输入:netstat-n回车,如图:4、观察TCP状态,记录Local Address、Foreign Address和State。
5、二次记录有什么不同,为什么?6、使用带其他参数的netstat命令,查看网络状态。
例如:netstat –anetstat -b步骤4:查看分析TCP确认机制1、在实验机中开启协议分析软件进行数据包捕获。
2、在协议分析软件工具栏中的TCP连接工具中连接到主机B的FTP服务器并发送dir命令,如下图所示。
发送FTP命令3、分析捕获到的FTP数据包,如下图所示。
发送FTP命令分析上图中TCP数据段首部,可以看到序列号为0X7257BB5D,数据部分长度为5字节。
再查看从分析端会返回的确认数据段,如下图所示。
TCP确认报文查看上图中TCP数据段的报头部分,确认序号为0X7257BB62,因为0X7257BB5D+5=0X7257BB62,因此,此确认序号的含义为上一个发送的TCP数据段信息全部处理,发送端可以发送0X7257BB62以后的数据,此即是TCP确认机制的过程。
步骤5:查看TCP连接超时重传过程1、查看其中一台主机的ARP缓存记录,确保有同组实验机器的ARP记录,如下图所示。
查看中ARP缓存记录2、将主机A从网络中断开,确保分析不会对编辑段发送的TCP连接请求进行回应。
3、在主机A中开启协议分析软件,进行数据包捕获。
4、在主机A中用工具栏中的TCP连接工具对主机B的FTP服务发起连接,如下图所示。
TCP连接工具发起连接5、在主机A中分析捕获的TCP数据段,如下图所示。
TCP超时重传数据段从上图中可以看到,在发出SYN位置1的TCP连接请求没有得到相应后,连接工具又发送了第二个相同的SYN位置1的TCP连接请求,进行重传,确定数据段为重传数据段可以通过TCP首部中的序列号确认,例如本例中,重传数据段中的序列号均为0XA82D33B5。
实验操作思考问题结合实验过程中的实验结果,回答下列问题1、如果在练习二发送建立连接请求帧之前,网络协议编辑软件端不运行“PING服务器”命令,而又停止了网络协议编辑软件端的TCP/IP协议,可能出现什么情况?通过实验来验证你的答案。
2、根据练习五说明:在网络协议编辑软件端,系统是如何把接收到的数据显示到相应的窗口的。
3、根据实验中窗口的变化和确认序号,分析TCP协议所使用的滑动窗口协议机制。
实验七FTP文件传输协议实验目的1、理解FTP协议的工作原理;2、了解FTP协议的常用命令;3、了解应用层协议与传输层协议的关系。
实验学时4学时实验类型综合型实验内容1、学习FTP协议的工作原理;2、学习FTP的使用方法;3、了解FTP的常用命令;4、了解FTP的工作过程;5、理解FTP的主动模式和被动模式。
实验流程实验环境实验原理详见理论教材。
实验步骤步骤1:登录FTP服务器,捕获数据报文并进行分析1、确认FTP服务器工作正常,记录FTP服务器的IP地址:192.168.1.10/24,用户名:welcome,密码:welcome。
2、在实验主机上启动网络协议分析软件,设置过滤条件并进行数据捕获。
在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“ftp协议”,点击“设置参数”按钮后“确定”,然后启动协议分析仪进行捕获:设置FTP协议过滤器3、登录FTP服务器,在命令行提示符下运行:ftp 192.168.1.10 ,即可建立与FTP服务器的连接,按照提示输入账号(welcome),密码(welcome),便进入了FTP的命令行界面,此时运行FTP的命令dir、get、quit等,从中可以看到FTP的反馈信息,以及FTP服务器的文件内容:登录FTP服务器4、暂停协议分析软件的捕获,可以通过捕获的数据报文看到刚才的交互过程中,FTP 客户端和服务器端的工作详细情况,FTP报文的格式和命令的使用,以及服务器端的响应代码。
如中就可以看到FTP的USER命令,及其参数welcome,也就是用户名;而中则是PASS命令和密码welcome:FTP报文中的USER命令FTP报文中的PASS命令5、记录这个过程中客户端和服务器端的TCP报头和数据信息,填写下表:6、根据标志字段分析FTP的两个端口的连接建立、会话和断开连接的全部过程,分析该过程中的源、目的端口号。
7、这个FTP服务器工作在主动模式还是被动模式下?8、是否可以捕获到用户名和密码?以此说明FTP连接的安全性。
步骤2:使用TCP连接工具连接FTP服务器1、打开协议分析仪,准备好进行数据包的捕获,然后打开协议分析仪,点击工具栏中的“TCP”按钮,在弹出的“TCP连接工具”中填写FTP服务器的IP地址(192.168.1.10)及FTP 协议控制连接的端口号(21),点击“启动”,从而建立本机与FTP服务器21端口的TCP连接,如所示:使用TCP连接工具连接FTP服务器在“数据信息”区域显示成功连接的信息:“220-Microsoft FTP Service”,并返回了FTP服务器的名称“测试用FTP”。
若不成功,再次尝试进行连接,直到成功。
此时,在协议分析仪端,可以看到与FTP服务器建立控制连接的TCP 三次握手过程:用TCP连接工具建立FTP控制连接(1)在发送的编辑栏里面编辑发送FTP命令USER,参数为FTP帐号:USER welcome,这时服务器返回响应“331 Password required for welcome”,提示输入密码;(2)发送命令PASS welcome,输入FTP的账号密码,服务器返回“230 User welcome logged in.”,说明验证通过,已经进入FTP服务器,并回送了FTP服务器设置的欢迎词“欢迎使用,这是一个测试用的FTP服务器”;(3)发送命令“NOOP”,这是一个空操作,服务器返回“200 NOOP command successful”说明登录用户已经得到服务器的承认;(4)发送命令“HELP”,服务器返回相应的帮助信息,即所有命令的列表;(5)发送命令“STAT”,服务器返回信息为当前的FTP服务状态:211-Microsoft FTP Service status:Connected to vserverLogged in as welcomeTYPE: ASCII, FORM: Nonprint; STRUcture: File; transfer MODE: STREAMNo data connection211 End of status.(6)使用命令“QUIT”退出FTP服务。