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

HostKvm香港VPS七折:$5.95/月KVM-2GB内存/40GB硬盘/500GB月流量

HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...

CloudCone:洛杉矶MC机房KVM月付1.99美元起,支持支付宝/PayPal

CloudCone是一家成立于2017年的国外VPS主机商,提供独立服务器租用和VPS主机,其中VPS基于KVM架构,多个不同系列,譬如常规VPS、大硬盘VPS等等,数据中心在洛杉矶MC机房。商家2021年Flash Sale活动继续,最低每月1.99美元,支持7天退款到账户,支持使用PayPal或者支付宝付款,先充值后下单的方式。下面列出几款VPS主机配置信息。CPU:1core内存:768MB...

搬瓦工最新套餐KVM,CN2线路

搬瓦工在国内非常流行的主机商,以提供低价的vps著称.不过近几年价格逐渐攀升.不过稳定性和速度一向不错.依然深受国内vps爱好者喜爱.新上线的套餐经常卖到断货.支持支付宝,paypal很方便购买和使用.官网网站:https://www.bandwagonhost.com[不能直接访问,已墙]https://www.bwh88.net[有些地区不能直接访问]https://www.bwh81.net...

ftp命令为你推荐
人人时光机求徐智勇的时光机的歌词,百度上全是周杰轮跟五月天的,我要粤语啊spgnux思普操作系统怎么样不兼容WIN7 64位系统与某些软件不兼容怎么办?硬盘人上海人说“硬盘”是什么梗畅想中国用“心系祖国情,畅想中国梦”为题目的800字作文数据库损坏数据库损坏是怎么回事啊?人人逛街人人逛街网是正品吗ejb开发什么是EJB?它是干什么的?和JAVA,JSP有关系吗?他们各有什么特点和用途?机械键盘轴打游戏用机械键盘到底什么轴好?域名库域名赎回期过了多长时间可以注册
成都主机租用 域名备案中心 greengeeks 唯品秀 便宜服务器 l5639 网站挂马检测工具 e蜗牛 本网站在美国维护 免费个人空间申请 web服务器架设 100m独享 drupal安装 彩虹云 512mb 广州主机托管 广东服务器托管 新疆服务器 register.com 更多