端口Linux平台下建立的ftp客户端的命令处理

ftp命令  时间:2021-02-28  阅读:()

Linux平台下建立的f tp客户端的命令处理

目录

1命令处理函数

1只在控制连接进行通信

2在控制连接进行通信在数据连接进行数据传输

3不进行网络通信的

2单连接命令

1对用户命令进行处理

2发送命令到服务器并接收服务器响应码根据响应码判断命令是否成功

3双连接命令

1

2

3

4

1

2

3

4

4无连接命令

5结束语

正文

摘要 FTP File Trafer Protocol文件传输协议 是用于在网络上进行文件传输的一套标准协议。它属于网络协议组的应用层。本文介绍在Linux平台下建立的ftp客户端的控制连接

关键字客户端服务器控制连接数据连接

中图分类号 TP393文献标识码 A文章编号 1009-3044

2016 20-0044-02

当FTP运行程序开始后首先根据传递参数创建控制连接用来和服务器进行通信。控制连接创建成功后客户依次向服务器发USER和PASS命令。

1命令处理函数

支持的用户命令主要分三种。

1只在控制连接进行通信。如delete quit mkdir rmdirpwd rename等。

2在控制连接进行通信在数据连接进行数据传输。如put get等。

3不进行网络通信的。如help等。

2单连接命令

这类命令比较容易 向服务器发送一个命令然后接收响应码。实现方式基本上一样不同的是传送给服务器的FTP命令不一样。

函数模型

1对用户命令进行处理。

2发送命令到服务器并接收服务器响应码根据响应码判断命令是否成功。

其中cd发送给服务器的命令为CWD 将工作的路径进行改变 该命令可以在用户登录与账户状态都保持不变的情况下运行在进行数据或者是工作目录下载或者是存储的时候改变其原来的路径。但是在这个过程中传输的参数是不会变化的。传输参数就是指的特定目录的路径名称或者是标志其他文件的符号。

其中delete发送给服务器的命令为删除指令该指令的发出删除的目标路径文件是从服务器的站点上进行的。假设需要进行特殊的保护像是在删除时再次询问 这个功能是user-FTP进行提供的。

其中quit发送给服务器的命令为QUIT 退出现在的登录模式此指令是对一个用户进行终止活动假设还用户内没有正在运行的文件时系统会直接将连接关闭控制但是假设此时正在有数据传输在传输得到回应以后系统连接关闭程序。

其中mkdir发送给服务器的命令为MKD 创建新的目录 该指令是对目标路径创建新的目录这是在绝对路径中也或者是在相对路径中对现在工作的路径进行新目录的创建。

其中rmdir发送给服务器的命令为RMD 目录删除 在绝对的路径下对目标路径进行删除或者是在相对的路径中对现在正在运行的工作子目录进行删除。

其中p wd发送给服务器的命令为P WD 打印工作目录 此指令在回应中返回当前工作目录名。

其中rename发送给服务器的命令为RNFR和RNTO。

RNFR 重新命名 该指令是对原来的路径名称进行重新命名。该指令在执行时一定跟着一个重新命名的指令来说明新的名称下的路径名称。

R NT O 重新命名以后 该指令是紧跟上面的指令说明新更改的路径名称的。在对文件进行更名时需要上述两个指令同时完成。

3双连接命令

这类命令除了要在控制连接进行通信还要在数据连接上传输数据。

根据FTP数据连接建立的不同形式将工作形式分为两种一是Standard又叫做PORT方式该方式是主动形式一种是Pas sive又叫做PASV是一种被动形式。 FTP的服务器内S tandard模式下发送一个PORT指令到相应的服务器上。 FTP服务器内Passive模式下发出一个PASV指令到相应的服务器上。上两种形式的工作原理如下所述

在Port模式下客户端会先于相关服务器上的TCP 21端口进行连接指令是借助该通道发出的 当客户端口接收到需要的数据时就需要通过这个端口发出一个POR的指令。客户使用怎样的端口接收相关数据这是包含在PORT的指令内的。数据的传输是通过服务器上自己的

端口与客户指定的端口连接实现数据的传输。在数据的传输过程中FTP服务器需要与客户端构建一个新连接实现数据的传输。连接过程如下

1所有跟FTP服务器的连接都要与21端口相连客户端的初始状态是S<-C

2在FTP服务器上全部的21端口都比端口1024大服务器连接客户端的控制端口为S->C

3在FTP服务器上所有的20端口都比端口1024大服务器上与客户端数据端口连接的最初端口值为S->C

4既比1024端口大又与服务器上的20端口相连接服务器接受客户端发送的ACK指令的数据端口为S<-C

Passive模式与Standard模式在构建控制通道上是具有相似性的但是区别之处在于前者发出的是Pasv指令后者发送的是Prot指令。 Pasv指令发送到服务器以后任意打开一个级别比较高端的数据端口值大于1024的 同时要求客户端发出请求数据的指令服务器上的端口与客户端口连接服务器上的数据借助该通道进行数据的传输此时服务器上就不需要构建一个与客户端新的连接方式了。连接过程如下

1所有跟FTP服务器的连接都要与21端口相连客户端的初始状态是S<-C

2在FTP服务器上全部的21端口都比端口1024大服务器连接客户端的控制端口为S->C

3随便一个端口连接到任意一个比端口1024大的端口 服务器上与客户端数据端口连接的最初端口值为S<-C

4服务器以及所有远程过程中大于端口1024的服务器接受客户端发送的ACK指令的数据端口为S->Cls命令执行时首先判断一下当前客户端采用的是主动模式还是被动模式。 主动模式下ls命令向服务器发送的命令依次如下

PORT h1 h2 h3 h4 p1 p2

LIST

其中P ORT命令将客户端用来进行数据连接的地址和端口传送给服务器然后服务器主动与客户端建立数据连接。连接建立成功后发送LIST命令通知服务器发送文件列表并在数据连接读取服务器发来的文件列表。

被动模式下ls命令向服务器发送的命令依次如下

PASV

LIST

其中PASV命令发出后服务器会返回用来建立数据连接的服务器端的IP地址和端口让客户端进行连接连接建立成功后发送LIST命令通知服务器发送文件列表并在数据连接读取服务器发来的文件列表。

对于P ORT数据端口连接数据的端口是借助该指令的参数实现的。客户与服务器都对数据缺口比较缺省并且通常下该指令不需要必须的相应指令进行回复。假设使用该指令那么相应的参数是由主机的32位和端口的16位串联而成。地址信息以每8位分为一组每一组的值都是用十进制数表示的逗号将那个小组分开。例如端口的数据指令是PORT h1 h2 h3 h4 p1 p2。那么被动形式PASV此指令在不缺省的端口等待连接的命令并不是接到指令后马上将数值初始化。服务器的主机以及端口的地址是该指令回应所包含的内容。LIST 列表 该指令指示服务器向DTP被动列表发送指令。假设对路径名进行明确的确定那么服务器会将相关的路径名称发送到文件列表中。但是假设路径确定的是文件那么服务器传输的信息就是文件现在状态的一个信息。不用参数就用现阶段用户的目录或缺省的那部分目录。put和get命令实现方式和ls一样只是在数据连接建立成功后发送给服务器的命令不一样分别STOR和RETR。

STOR 保存 是把server-DTP接收到的数据存储成服务器站点上的文件的指令。倘若接收来的路径文件在原服务器站点上已经有

了那原有的文件就会被新接收的文件数据所替换。相反若是接收来的路径文件原本没有这样就会在服务站点重新建立一个存储文件。

RETR 获得文件 一个文件的副本用过这个指令用特定的路径传送到数据连的另一端。而原服务器站点的原文件状态以及内容不会发生变化。

4无连接命令

这类命令不进行任何网络通信。其中help命令仅仅打印出系统支持的命令。 passive则是通过修改全局变量passivemode来改变FTP的工作方式。

5结束语

上述为在运行过程中客户向服务器发出命令后接收支持用户命令的三种状态。

参考文献

[1] Reynolds J Request for Comments 959 NetworkWorking Group October 1985。

[2] Richard Steve Stephen A. Rago. Advanced Programmingin the UNIX Environment Second Edition Addison WesleyProfessional 2005。

[6.18]DogYun:充100送10元,态云7折,经典云8折,独立服务器月省100元,幸运大转盘最高5折

DogYun是一家2019年成立的国人主机商,提供VPS和独立服务器租用等,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等,其中VPS包括常规VPS(经典云)和按小时计费VPS(动态云),使用自行开发的面板和管理系统,支持自定义配置,动态云各个硬件独立按小时计费,带宽按照用户使用量计费(不使用不计费)或者购买流量包,线路也可以自行切换。目前商家发布了6.18促销方案,新购动态云7折,经...

PQ.hosting全线9折,1Gbps带宽不限流量VPS/€3/月,全球11大机房可选

Hostadvice主机目录对我们的服务进行了测试,然后给PQ.hosting颁发了十大WordPress托管奖。为此,宣布PQ.Hosting将在一周内进行折扣优惠,购买和续订虚拟服务器使用优惠码:Hostadvice ,全部优惠10%。PQ.hosting,国外商家,成天于2019年,正规公司,是全球互联网注册商协会 RIPE 的成员。主要是因为提供1Gbps带宽、不限流量的基于KVM虚拟的V...

Hostodo:$34.99/年KVM-2.5GB/25G NVMe/8TB/3个数据中心

Hostodo在九月份又发布了两款特别套餐,开设在美国拉斯维加斯、迈阿密和斯波坎机房,基于KVM架构,采用NVMe SSD高性能磁盘,最低1.5GB内存8TB月流量套餐年付34.99美元起。Hostodo是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,美国三个地区机房,支持支付宝或者PayPal、加密货币等付款。下面列出这两款主机配置信息。CP...

ftp命令为你推荐
赵雨润电影《奇迹世界》详细剧情介绍打开网页出现错误网页出现错误怎么解决?要最简单的那种百度手写百度输入法切换手写 百度汉王手写输入法百度手写百度为什么没有了在线手写输入法xv播放器下载xv播放器怎么下载?淘宝网页显示不正常淘宝网显示不正常免费qq空间装扮有办法免费装扮QQ空间吗??ios系统iOS系统为什么那么好虚拟专用网虚拟专用网 有什么用处?srv记录exchange 2010 自动发现需不需要srv记录
政务和公益机构域名注册管理中心 游戏服务器租用 华为云服务 jsp主机 全球付 pw域名 wavecom 鲨鱼机 万网优惠券 ca4249 100m免费空间 52测评网 有奖调查 服务器托管什么意思 空间合租 福建铁通 网通服务器托管 网游服务器 云营销系统 徐州电信 更多