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

这几个Vultr VPS主机商家的优点造就商家的用户驱动力

目前云服务器市场竞争是相当的大的,比如我们在年中活动中看到各大服务商都找准这个噱头的活动发布各种活动,有的甚至就是平时的活动价格,只是换一个说法而已。可见这个行业确实竞争很大,当然我们也可以看到很多主机商几个月就消失,也有看到很多个人商家捣鼓几个品牌然后忽悠一圈跑路的。当然,个人建议在选择服务商的时候尽量选择老牌商家,这样性能更为稳定一些。近期可能会准备重新整理Vultr商家的一些信息和教程。以前...

Nocser:马来西亚独立服务器促销$60.00/月

Nocser刚刚在WHT发布了几款促销服务器,Intel Xeon X3430,8GB内存,1TB HDD,30M不限流量,月付$60.00。Nocser是一家注册于马来西亚的主机商,主要经营虚拟主机、VPS和马来西亚独立服务器业务,数据中心位于马来西亚AIMS机房,线路方面,AIMS到国内电信一般,绕日本NTT;联通和移动比较友好,联通走新加坡,移动走香港,延迟都在100左右。促销马来西亚服务器...

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

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

ftp命令为你推荐
迅雷不能登录迅雷帐号无法登陆怎么解决?赛我网赛我网的号自己能封吗?weipin唯品宝是什么?和唯品金融有什么关系?找不到光驱电脑找不到光驱怎么办阿?会声会影12下载谁有免费的会声会影12的素材下载地址给俺发个!要没有毒的,谢谢咧!暴风影音怎么截图如何在暴风影音中截图?51自学网站谁能给我免费学习的网站吧 谢谢了湖南商标注册在湖南商标注册到底有什么用,不就是一个图标吗?快速美白好方法有什么变白的好方法怎么在qq空间里添加背景音乐怎样在qq空间里免费添加背景音乐?
vps服务器租用 免费试用vps 注册cn域名 踢楼 国外php主机 宕机监控 镇江联通宽带 免费个人网站申请 嘉洲服务器 河南移动网 华为云盘 无限流量 360云服务 创建邮箱 域名dns 域名与空间 美国凤凰城 论坛主机 1美元 好看的空间 更多