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

宝塔面板批量设置站点404页面

今天遇到一个网友,他在一个服务器中搭建有十几个网站,但是他之前都是采集站点数据很大,但是现在他删除数据之后希望设置可能有索引的文章给予404跳转页面。虽然他程序有默认的404页面,但是达不到他引流的目的,他希望设置统一的404页面。实际上设置还是很简单的,我们找到他是Nginx还是Apache,直接在引擎配置文件中设置即可。这里有看到他采用的是宝塔面板,直接在他的Nginx中设置。这里我们找到当前...

弘速云香港VPSVPS线路有CN2+BGP、CN2 GIA,KVM虚拟化架构,裸金属月付564元

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...

HostKvm(4.25美)香港和俄罗斯高防机房云服务器

HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...

ftp命令为你推荐
怎么改ip如何更改IP地址?中国电信互联星空中国电信互联星空是什么!怎么取消qq怎么发邮件怎样在QQ上发送邮件?神雕侠侣礼包大全神雕侠侣手游华山论剑礼包有什么 怎么领取创维云电视功能创维新出的4K超高清健康云电视有谁用过,功能效果怎么样?商标注册查询官网商标注册查询官方网站?ios系统ios是什么意思 ios系统是什么安全漏洞计算机一般存在哪些安全漏洞?电子商务网站模板网页制作模板srv记录exchange 2010 自动发现需不需要srv记录
最好的虚拟主机 广州主机租用 域名备案号查询 raksmart 韩国空间 美国仿牌空间 ibrs 丹弗 免费ftp空间申请 上海域名 vip购优汇 新天域互联 银盘服务 彩虹云 监控服务器 iki lamp架构 ledlamp 锐速 godaddy退款 更多