端口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。

宝塔面板企业版和专业版618年中活动 永久授权仅1888元+

我们一般的站长或者企业服务器配置WEB环境会用到免费版本的宝塔面板。但是如果我们需要较多的付费插件扩展,或者是有需要企业功能应用的,短期来说我们可能选择按件按月付费的比较好,但是如果我们长期使用的话,有些网友认为选择宝塔面板企业版或者专业版是比较划算的。这样在年中大促618的时候,我们也可以看到宝塔面板也有发布促销活动。企业版年付899元,专业版永久授权1888元起步。对于有需要的网友来说,还是值...

舍利云30元/月起;美国CERA云服务器,原生ip,低至28元/月起

目前舍利云服务器的主要特色是适合seo和建站,性价比方面非常不错,舍利云的产品以BGP线路速度优质稳定而著称,对于产品的线路和带宽有着极其严格的讲究,这主要表现在其对母鸡的超售有严格的管控,与此同时舍利云也尽心尽力为用户提供完美服务。目前,香港cn2云服务器,5M/10M带宽,价格低至30元/月,可试用1天;;美国cera云服务器,原生ip,低至28元/月起。一、香港CN2云服务器香港CN2精品线...

华纳云不限流量¥324/年,香港双向CN2(GIA)云服务器/1核1G/50G存储/2Mbps

华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供香港和美国机房的VPS云服务器和独立服务器。商家支持支付宝、网银、Paypal付款。华纳云主要面向国内用户群,所以线路质量还是不错的,客户使用体验总体反响还是比较好...

ftp命令为你推荐
万维读者网用QQ邮箱向《读者》投稿具体格式简体翻译成繁体帮忙把繁体翻译成简体伪静态怎么做伪静态?今日热点怎么删除怎样删除实时热点淘宝店推广淘宝店铺推广有哪些渠道?人人逛街人人逛街评论怎么不显示链接了?好像4月28日就不能显示了。是什么原因呢?mate8价格手机华为mat8售价多少二层交换机什么是二层交换机三星s8什么时候上市三星盖乐世S8上市时间公布 三星盖乐世s8多少钱php购物车php做购物车需要用到哪些技术,这些技术怎么实现
域名到期查询 cn域名注册 美国vps 代理域名备案 怎么申请域名 便宜域名 空间打开慢 线路工具 国外网站代理服务器 cdn加速原理 域名和空间 银盘服务 架设邮件服务器 免费网络 华为k3 免费个人网页 购买空间 好看的空间 汤博乐 zcloud 更多