计算机网络经典实验课程 3.docx

上传人:b****6 文档编号:12798248 上传时间:2023-06-08 格式:DOCX 页数:19 大小:862.66KB
下载 相关 举报
计算机网络经典实验课程 3.docx_第1页
第1页 / 共19页
计算机网络经典实验课程 3.docx_第2页
第2页 / 共19页
计算机网络经典实验课程 3.docx_第3页
第3页 / 共19页
计算机网络经典实验课程 3.docx_第4页
第4页 / 共19页
计算机网络经典实验课程 3.docx_第5页
第5页 / 共19页
计算机网络经典实验课程 3.docx_第6页
第6页 / 共19页
计算机网络经典实验课程 3.docx_第7页
第7页 / 共19页
计算机网络经典实验课程 3.docx_第8页
第8页 / 共19页
计算机网络经典实验课程 3.docx_第9页
第9页 / 共19页
计算机网络经典实验课程 3.docx_第10页
第10页 / 共19页
计算机网络经典实验课程 3.docx_第11页
第11页 / 共19页
计算机网络经典实验课程 3.docx_第12页
第12页 / 共19页
计算机网络经典实验课程 3.docx_第13页
第13页 / 共19页
计算机网络经典实验课程 3.docx_第14页
第14页 / 共19页
计算机网络经典实验课程 3.docx_第15页
第15页 / 共19页
计算机网络经典实验课程 3.docx_第16页
第16页 / 共19页
计算机网络经典实验课程 3.docx_第17页
第17页 / 共19页
计算机网络经典实验课程 3.docx_第18页
第18页 / 共19页
计算机网络经典实验课程 3.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机网络经典实验课程 3.docx

《计算机网络经典实验课程 3.docx》由会员分享,可在线阅读,更多相关《计算机网络经典实验课程 3.docx(19页珍藏版)》请在冰点文库上搜索。

计算机网络经典实验课程 3.docx

计算机网络经典实验课程3

实验十一FTP协议分析

【实验目的】

1、理解FTP协议的工作原理;

2、了解FTP协议的常用命令;

3、了解应用层协议与传输层协议的关系。

【实验学时】

2学时

【实验环境】

本实验中需要有一台开启FTP服务的主机,并提供一个公共帐号:

welcome,密码:

welcome。

实验拓扑图如图5-11所示:

图5-11实验拓扑图

【实验内容】

1、学习FTP协议的工作原理;

2、学习FTP的使用方法;

3、了解FTP的常用命令;

4、了解FTP的工作过程;

5、理解FTP的主动模式和被动模式。

 

【实验流程】

图5-12实验流程图

【实验原理】

FTP(FileTransferProtocal),是文件传输协议的简称。

FTP使得主机间可以共享文件,用于控制Internet上文件的双向传输。

它是一个客户机

/服务器系统。

用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。

用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。

当FTP客户端与服务器建立FTP连接时,将与服务器上的两个端口建立联系:

端口

20和21。

FTP使用不同的端口号传输不同的内容,会建立不同的TCP连接。

首先,使用TCP

生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输。

FTP的工作过程

FTP使用2个TCP端口,一个数据端口和一个命令端口(也可叫做控制端口)。

通常来说这两个端口是21——命令端口和20——数据端口,但根据FTP工作在主动模式还是被动模式,21和20端口的使用方法略有不同。

主动模式的FTP是这样的:

客户机从一个任意的非特权端口N(N≥1024),连接到

FTP服务器的命令端口,也就是21端口,建立一个控制连接。

这个连接用于传递客户端的命令和服务器端对命令的响应,生存期是整个FTP会话时间。

如果期间需要传输文件和其它数据,例如:

目录列表等,客户端就需要建立数据连接了。

这种连接在需要数据传输时建立,而一旦数据传输完毕就关闭,整个FTP期间可能会建立多次。

在主动模式下,建立数据连接时,客户端会开始监听端口N+1,并发送FTP命令“portN+1”到FTP服务器。

接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1),开始进行数据传输。

图5-13展示了一个FTP主动模式的例子,从中可以清楚的看到FTP主动模式下,控制连接和数据连接是如何建立的:

图5-13FTP的主动模式

但是,由于我们访问的FTP服务器大多在外网,和我们所在的内网之间通常会有防火墙进行保护,由外网的FTP服务器主动发起的连接,往往被防火墙所阻拦。

为了解决这个问题,需要使用另外一种FTP模式,叫做被动模式(passivemod)。

在这种模式下,数据连接是由客户程序发起的,和刚才讨论过的主动模式相反。

图5-14展示了一个FTP被动模式的例子,从中可以清楚的看到FTP被动模式下,控制连接和数据连接是如何建立的:

图5-14FTP的被动模式

被动模式下开启一个FTP连接时,客户端打开两个任意的非特权本地端口N和N+1

(N≥1024)。

第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。

这样做的结果是服务器会开启一个任意的非特权端口(P≥1024),并发送PORTP命令给客户端。

然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

FTP的命令

FTP的控制连接使用类似TELNET协议的方式在主机间交换命令和消息。

FTP控制帧包含FTP的命令和选项。

大多数FTP控制帧是简单的ASCII文本,可以分为FTP命令或FTP消息。

FTP消息是对FTP命令的响应,它由带有解释文本的应答代码构成。

表5-2FTP命令列表

命令

描述

ABOR

中断数据连接程序

ACCT

系统特权帐号

ALLO

为服务器上的文件存储器分配字节

APPE

添加文件到服务器同名文件

CDUP

改变服务器上的父目录

CWD

改变服务器上的工作目录

DELE

删除服务器上的指定文件

HELP

返回指定命令信息

LIST

如果是文件名列出文件信息,如果是目录则列出文件列表

MODE

传输模式(S=流模式,B=块模式,C=压缩模式)

MKD

在服务器上建立指定目录

NLST

列出指定目录内容

NOOP

无动作,除了来自服务器上的承认

PASS

系统登录密码

PASV

请求服务器等待数据连接

PORT

IP地址和两字节的端口ID

PWD

显示当前工作目录

QUIT

从FTP服务器上退出登录

REIN

重新初始化登录状态连接

REST

由特定偏移量重启文件传递

RETR

从服务器上找回(复制)文件

RMD

在服务器上删除指定目录

RNFR

对旧路径重命名

RNTO

对新路径重命名

SITE

由服务器提供的站点特殊参数

SMNT

挂载指定文件结构

STAT

在当前程序或目录上返回信息

STOR

储存(复制)文件到服务器上

STOU

储存文件到服务器上

STRU

数据结构(F=文件,R=记录,P=页面)

SYST

返回服务器使用的操作系统

TYPE

数据类型(A=ASCII,E=EBCDIC,I=binary)

USER>

系统登录的用户名

标准FTP消息如下:

表5-3FTP响应代码列表

响应代码

解释说明

110

新文件指示器上的重启标记

120

服务器准备就绪的时间(分钟数)

125

打开数据连接,开始传输

150

打开连接

200

成功

202

命令没有执行

211

系统状态回复

212

目录状态回复

213

文件状态回复

214

帮助信息回复

215

系统类型回复

220

服务就绪

221

退出网络

225

打开数据连接

226

结束数据连接

227

进入被动模式(IP地址、ID端口)

230

登录因特网

250

文件行为完成

257

路径名建立

331

要求密码

332

要求帐号

350

文件行为暂停

421

服务关闭

425

无法打开数据连接

426

结束连接

450

文件不可用

451

遇到本地错误

452

磁盘空间不足

500

无效命令

501

错误参数

502

命令没有执行

503

错误指令序列

504

无效命令参数

530

未登录网络

532

存储文件需要帐号

550

文件不可用

551

不知道的页类型

552

超过存储分配

553

文件名不允许

FTP的使用方法

FTP尽管可以直接被终端用户使用,但其应用主要还是通过程序实现。

用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序

和信息。

在Windows系统中使用FTP,可以在命令提示符下键入:

ftp192.168.1.10(实验室FTP服务器的IP地址);

用户被提示输入用户名和口令,确认口令输入正确后,用户将获得FTP提示符“ftp>”。

FTP常用的命令:

Binary:

将文件传输模式设为二进制方式

Bye:

退出,结束远程连接

Case:

打开case功能

Close:

关闭远程连接

cd

改变远程系统目录名

cdup:

进入父目录

debug

设置调试级别

dir:

显示路径名

delete

在远程计算机中删除文件:

get

将文件从远程系统下载到本地系统

glob:

在文件传输时使用通配符

hash:

每传输1024字节打印一个“#”

help:

打印帮助文件

lcd

改变本地系统路径

ls:

打显示远程主机目录

lpwd:

打印本地主机工作路径

mget

将多个文件从远程系统下载到本地系统

mkdir

在远程计算机上创建路径

input

将多个文件上载到远程计算机

prompt:

交互式提示

put

将文件上载到远程计算机

pwd:

显示当前工作路径

user:

登录到远程计算机系统

 

【实验步骤】

步骤一:

登录FTP服务器,捕获数据报文并进行分析

1、确认FTP服务器工作正常,记录FTP服务器的IP地址:

192.168.1.10/24,用户名:

welcome,密码:

welcome。

2、在实验主机上启动网络协议分析仪,设置过滤条件并进行数据捕获。

在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“ftp协议”,点击“设置参数”按钮后“确定”,然后启动协议分析仪进行捕获:

图5-15设置FTP协议过滤器

3、登录FTP服务器,在命令行提示符下运行:

ftp192.168.1.10,即可建立与FTP服务器的连接,按照提示输入账号(welcome),密码(welcome),便进入了FTP的命令行界面,此时运行FTP的命令dir、get、quit等,从中可以看到FTP的反馈信息,以及

FTP服务器的文件内容:

图5-16登录FTP服务器

4、暂停协议分析器的捕获,可以通过捕获的数据报文看到刚才的交互过程中,FTP客户端和服务器端的工作详细情况,FTP报文的格式和命令的使用,以及服务器端的响应代码。

如图5-17中就可以看到FTP的USER命令,及其参数welcome,也就是用户名;而图5-18中则是PASS命令和密码welcome:

图5-17FTP报文中的USER命令

图5-18FTP报文中的PASS命令

5、记录这个过程中客户端和服务器端的TCP报头和数据信息,填写下表:

表5-4TCP报头和数据信息列表

客户端

TCP连接建立阶段(控制连接)

FTP服务器

 

Port()

SYN=(),ACK=(),PSH=(),FIN=()

 

Port()

SYN=(),ACK=(),PSH=(),FIN=()

SYN=(),ACK=(),PSH=(),FIN=()

客户端

TCP连接建立阶段(数据连接)

FTP服务器

 

Port()

SYN=(),ACK=(),PSH=(),FIN=()

 

Port()

SYN=(),ACK=(),PSH=(),FIN=()

SYN=(),ACK=(),PSH=(),FIN=()

6、根据标志字段分析FTP的两个端口的连接建立、会话和断开连接的全部过程,分析该过程中的源、目的端口号。

7、这个FTP服务器工作在主动模式还是被动模式下?

8、是否可以捕获到用户名和密码?

以此说明FTP连接的安全性。

步骤二:

使用TCP连接工具连接FTP服务器

1、打开协议分析仪,准备好进行数据包的捕获,然后打开协议分析仪,点击工具栏中的“TCP”按钮,在弹出的“TCP连接工具”中填写FTP服务器的IP地址(192.168.1.10)及

FTP协议控制连接的端口号(21),点击“启动”,从而建立本机与FTP服务器21端口的TCP

连接,如图5-19所示:

图5-19使用TCP连接工具连接FTP服务器

在“数据信息”区域显示成功连接的信息:

“220-MicrosoftFTPService”,并返回了FTP服务器的名称“测试用FTP”。

若不成功,再次尝试进行连接,直到成功。

此时,在协议分析仪端,可以看到与FTP服务器建立控制连接的TCP三次握手过程:

图5-20是用TCP连接工具建立FTP控制连接

2、在发送区输入FTP命令,与FTP服务器进行交互:

(1)、在发送的编辑栏里面编辑发送FTP命令USER,参数为FTP帐号:

USER

welcome,这时服务器返回响应“331Passwordrequiredforwelcome”,提示输入密码;

(2)、发送命令PASSwelcome,输入FTP的账号密码,服务器返回“230Userwelcomeloggedin.”,说明验证通过,已经进入FTP服务器,并回送了FTP服务器设置的欢迎词“欢迎使用,这是一个测试用的FTP服务器”;

(3)、发送命令“NOOP”,这是一个空操作,服务器返回“200NOOPcommand

successful”说明登录用户已经得到服务器的承认;

(4)、发送命令“HELP”,服务器返回相应的帮助信息,即所有命令的列表;

(5)、发送命令“STAT”,服务器返回信息为当前的FTP服务状态:

211-MicrosoftFTPServicestatus:

ConnectedtovserverLoggedinaswelcome

TYPE:

ASCII,FORM:

Nonprint;STRUcture:

File;transferMODE:

STREAM

Nodataconnection

211Endofstatus.

(6)、使用命令“QUIT”退出FTP服务。

下面是在协议分析仪的TCP工具“数据信息”区域显示的全部交互过程:

-------------------------------------------------------------------------------

正在连接192.168.1.10:

21

连接成功!

220-MicrosoftFTPService

220测试用FTP

-------------------------------------------------------------------------------

发送USERwelcome

发送成功!

331Passwordrequiredforwelcome.

-------------------------------------------------------------------------------

发送PASSwelcome

发送成功!

230-欢迎使用,这是一个测试用的FTP服务器

230Userwelcomeloggedin.

-------------------------------------------------------------------------------

发送NOOP

发送成功!

200NOOPcommandsuccessful.

-------------------------------------------------------------------------------

发送HELP

发送成功!

214-Thefollowingcommandsarerecognized(*==>'sunimplemented).

ABORACCTALLOAPPECDUPCWDDELEFEATHELPLISTMDTMMKDMODENLSTNOOPOPTSPASSPASVPORTPWDQUITREINRESTRETRRMD

RNFRRNTOSITESIZESMNTSTATSTORSTOUSTRUSYSTTYPEUSERXCUPXCWDXMKDXPWDXRMD

214HELPcommandsuccessful.

-------------------------------------------------------------------------------

发送STAT

发送成功!

211-MicrosoftFTPServicestatus:

ConnectedtovserverLoggedinaswelcome

TYPE:

ASCII,FORM:

Nonprint;STRUcture:

File;transferMODE:

STREAMNodataconnection

211Endofstatus.

-------------------------------------------------------------------------------

发送QUIT发送成功!

221

连接结束

步骤三:

编辑一个FTP报文

1、在主机上打开协议数据发生器,在工具栏上选择“添加”,会弹出“网络包模版”对话框,选择“FTP协议模版”,建立一个FTP数据报文:

图5-21建立FTP协议报文

2、填写其中以太网帧头、IP首部、TCP首部和FTP报文的内容:

•填写以太网协议首部信息:

➢目的物理地址:

在地址本中选择FTP服务器的IP地址(192.168.1.10),确认后自动填入交换机的MAC地址:

00-0C-29-BE-4F-E5;

➢源物理地址:

在地址本中选择实验主机(192.168.1.3),确认后自动填入主机

A的MAC地址:

00-15-58-2F-7E-7E;

➢类型或长度:

该字段应为0800(即IP协议的类型值)。

•填写IP协议头信息:

➢总长度字段:

包括TCP段内容的总长度,20IP+20TCP+12FTP=52;

➢高层协议字段:

即上层协议类型为6(TCP协议的类型为6);

➢发送IP地址:

在地址本中选择实验主机的IP地址,确认后自动填入主机的IP

地址192.168.1.3;

➢目标IP地址:

在地址本中选择FTP服务器的IP地址,确认后自动填入FTP

服务器的IP地址192.168.1.10;

➢点击工具栏中的“校验和”按钮计算IP头校验和。

•填写TCP协议的各个字段信息:

➢16位源端口号:

任意大于1024的数;

➢16位目的端口号:

21;

》32位序号:

选择一个序号(例如:

19425898);

➢32位确认序号:

设置为0;

➢首部长度:

首部长度设为5,即长度为20字节;

➢标志位:

标志位设为2,即标志位SYN=1;

➢窗口大小:

任意,例如填入32768;

➢紧急指针:

0;

➢校验和:

点击工具栏中的“校验和”按钮计算TCP校验和(覆盖TCP首部(包

含伪首部)和TCP数据两部分,计算方法同UDP协议一样)。

•5、填写FTP协议报文的内容:

可填入FTP的常用命令及参数,例如USERwelcome。

最终的编辑结果如图5-22所示:

图5-22编辑FTP报文的内容

3、点击工具栏上的“发送”按钮,将编辑好的FTP数据报文发送,可设置循环发送。

4、在实验主机上运行网络协议分析仪,捕获数据,捕获结果如所示,从中可以看到这是一个FTP报文,携带的命令是USERwelcome:

图5-23捕获编辑的FTP报文

【思考问题】

1、在ACTIVE模式的FTP中,服务器端为何使用20和21两个端口,其作用分别是什么?

客户端与这两个端口建立起的连接分别是谁(客户端还是服务器端)主动发起的?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2