ftp202
A. 名词解释----文件传输协议
文件传输协议(ftp)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。
FTP 的主要功能如下:
提供文件的共享(计算机程序 / 数据);
支持间接使用远程计算机;
使用户不因各类主机文件存储器系统的差异而受影响;
可靠且有效的传输数据。
FTP ,尽管可以直接被终端用户使用,但其应用主要还是通过程序实现。
FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项。然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。 FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。
协议结构
命令 描述
ABOR 中断数据连接程序
ACCT <account> 系统特权帐号
ALLO <bytes> 为服务器上的文件存储器分配字节
APPE <filename> 添加文件到服务器同名文件
CDUP <dir path> 改变服务器上的父目录
CWD <dir path> 改变服务器上的工作目录
DELE <filename> 删除服务器上的指定文件
HELP <command> 返回指定命令信息
LIST <name> 如果是文件名列出文件信息,如果是目录则列出文件列表
MODE <mode> 传输模式(S=流模式,B=块模式,C=压缩模式)
MKD <directory> 在服务器上建立指定目录
NLST <directory> 列出指定目录内容
NOOP 无动作,除了来自服务器上的承认
PASS <password> 系统登录密码
PASV 请求服务器等待数据连接
PORT <address> IP 地址和两字节的端口 ID
PWD 显示当前工作目录
QUIT 从 FTP 服务器上退出登录
REIN 重新初始化登录状态连接
REST <offset> 由特定偏移量重启文件传递
RETR <filename> 从服务器上找回(复制)文件
RMD <directory> 在服务器上删除指定目录
RNFR <old path> 对旧路径重命名
RNTO <new path> 对新路径重命名
SITE <params> 由服务器提供的站点特殊参数
SMNT <pathname> 挂载指定文件结构
STAT <directory> 在当前程序或目录上返回信息
STOR <filename> 储存(复制)文件到服务器上
STOU <filename> 储存文件到服务器名称上
STRU <type> 数据结构(F=文件,R=记录,P=页面)
SYST 返回服务器使用的操作系统
TYPE <data type> 数据类型(A=ASCII,E=EBCDIC,I=binary)
USER <username>> 系统登录的用户名
标准 FTP 信息如下:
响应代码 解释说明
110 新文件指示器上的重启标记
120 服务器准备就绪的时间(分钟数)
125 打开数据连接,开始传输
150 打开连接
200 成功
202 命令没有执行
211 系统状态回复
212 目录状态回复
213 文件状态回复
214 帮助信息回复
215 系统类型回复
220 服务就绪
221 退出网络
225 打开数据连接
226 结束数据连接
227 进入被动模式(IP 地址、ID 端口)
230 登录因特网
250 文件行为完成
257 路径名建立
331 要求密码
332 要求帐号
350 文件行为暂停
421 服务关闭
425 无法打开数据连接
426 结束连接
450 文件不可用
451 遇到本地错误
452 磁盘空间不足
500 无效命令
501 错误参数
502 命令没有执行
503 错误指令序列
504 无效命令参数
530 未登录网络
532 存储文件需要帐号
550 文件不可用
551 不知道的页类型
552 超过存储分配
553 文件名不允许
B. FTP上传文件错误
150 opening ascii mode data connection for /bin/ls.
426 data connection closed, transfer aborted.
这种情况可能是你所在网络安装了防火墙(或代理),该防火墙(或代理)禁止来自远程的连接,426 data connection closed, transfer aborted表明了这一点。这时候你可以使用被动传输模式(pasv模式),来避免该限制,进行数据传输.
解决办法是在该ftp标签的站点设置中,设置为被动模式pasv模式.同样,如果前面有网友出现200 port command successful.
连不上的情况,也用上面方法
1.
connected. waiting for response.
220 serv-u ftp server v4.0 for winsock ready...
user anonymous
530 sorry, no anonymous access allowed.
quit
不允许匿名登录
2.
connected. waiting for response.
220 serv-u ftp server v4.0 for winsock ready...
user test
331 user name okay, need password.
pass xxxxxx
530 not logged in.
quit
一般是密码输入错误时出现的信息。密码不对哟!
3.
connecting to xxx.xxx.xxx.xxx, port 21 (#1)
error: connection timed out
这个表明对方未开机,也可能是对方不在你能访问的范围内。可能小区的服务器检修中。
4.
connecting to xxx.xxx.xxx.xxx port 21 (#1)
error: connection refused
这个一般表明对方已开机,但未开启ftp服务(没有开serv-u)
也可能为对方不提供在这个端口上的服务
5.
connecting to xxx.xxx.xxx.xxx, port 21 (#1)
connected. waiting for response.
disconnected from server.
connection attempt failed. waiting for retry...
出现这个信息实在是很倒霉,你极有可能把重试时间定的太短服务器封了你哟!
6.
connecting to xxx.xxx.xxx.xxx, port 21 (#1)
connected. waiting for response.
user xxx
331 user name okay, need password
pass xxxxxx
530 not logged in, unauthorized ip address.
quit
没有登记ip!或者登记的ip和你现在下载的不一样!赶快重新登记吧!
7.
227 entering passive mode (218,3,87,224,10,232)
retr hfdx-tsoaf.sub.rar
550 sorry, insufficient credit for download - upload first.
传输已失败!
传输队列已完成
你的流量不够了,重新购买吧!
8.
connected. waiting for response.
220 serv-u ftp server v4.0 for winsock ready...
user user
421 too many users - please try again later.
说明当前你所属的下载组的下载人数已到上限,请过些时候再尝试,用Flashget等的下载工具不断尝试联接的人请讲尝试时间调大一点,否则会被服务器封闭一段时间的IP
9.
150 opening ascii mode data connection for /bin/ls.
426 data connection closed, transfer aborted.
这种情况可能是你所在网络安装了防火墙(或代理),该防火墙(或代理)禁止来自远程的连接,426 data connection closed, transfer aborted表明了这一点。这时候你可以使用被动传输模式(pasv模式),来避免该限制,进行数据传输.
解决办法是在该ftp标签的站点设置中,设置为被动模式pasv模式.同样,如果前面有网友出现200 port command successful.
连不上的情况,也用上面方法
Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
ERROR: Connection timed out
这个表明对方未开机,也可能是对方不在你能访问的范围内
-----------------------------------
Connecting to xxx.xxx.xxx.xxx Port 21 (#1)
ERROR: Connection refused
这个一般表明对方已开机,但未开启FTP服务(没有开Serv-U)
也可能为对方不提供在这个端口上的服务
-----------------------------------
Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
Connected. Waiting for response.
Disconnected from server.
Connection attempt failed. Waiting for retry...
出现这个信息实在是很倒霉,你极有可能被对方Ban了。
如果只是Ban几分钟or几小时or一天还好,不然只有和站长说说好话,让他给你解封吧。
-----------------------------------
110 Restart marker reply. In this case, the text is exact and not left to
the particular implementation; it must read: MARK yyyy = mmmm where yyyy is
User-process data stream marker, and mmmm server s equivalent marker (note
the spaces between markers and "=").
重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格)
-----------------------------------
120 Service ready in nnn minutes.
服务在NNN时间内可用
-----------------------------------
125 Data connection already open; transfer starting.
数据连接已经打开,开始传送数据.
-----------------------------------
150 File status okay; about to open data connection.
文件状态正确,正在打开数据连接.
-----------------------------------
200 Command okay.
命令执行正常结束.
-----------------------------------
202 Command not implemented, superfluous at this site.
命令未被执行,此站点不支持此命令.
-----------------------------------
211 System status, or system help reply.
系统状态或系统帮助信息回应.
-----------------------------------
212 Directory status.
目录状态信息.
-----------------------------------
213 File status.
文件状态信息.
-----------------------------------
214 Help message.On how to use the server or the meaning of a particular
non-standard command. This reply is useful only to the human user. 帮助信息。
关于如何使用本服务器或特殊的非标准命令。此回复只对人有用。
-----------------------------------
215 NAME system type. Where NAME is an official system name from the list
in the Assigned Numbers document.
NAME系统类型。
-----------------------------------
220 Service ready for new user.
新连接的用户的服务已就绪
-----------------------------------
221 Service closing control connection.
控制连接关闭
-----------------------------------
225 Data connection open; no transfer in progress.
数据连接已打开,没有进行中的数据传送
-----------------------------------
226 Closing data connection. Requested file action successful (for example,
file transfer or file abort).
正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止)
-----------------------------------
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
进入被动模式
-----------------------------------
230 User logged in, proceed. Logged out if appropriate.
用户已登入。 如果不需要可以登出。
-----------------------------------
250 Requested file action okay, completed.
被请求文件操作成功完成
-----------------------------------
257 "PATHNAME" created.
路径已建立
-----------------------------------
331 User name okay, need password.
用户名存在,需要输入密码
-----------------------------------
332 Need account for login.
需要登陆的账户
-----------------------------------
350 Requested file action pending further information
对被请求文件的操作需要进一步更多的信息
-----------------------------------
421 Service not available, closing control connection.This may be a reply
to any command if the service knows it must shut down.
服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭
421 Too many users - please try again later.
太多用户,那就过会再连
-----------------------------------
425 Can t open data connection.
打开数据连接失败
-----------------------------------
426 Connection closed; transfer aborted.
连接关闭,传送中止。
-----------------------------------
450 Requested file action not taken.
对被请求文件的操作未被执行
-----------------------------------
451 Requested action aborted. Local error in processing.
请求的操作中止。处理中发生本地错误。
-----------------------------------
452 Requested action not taken. Insufficient storage space in system.File
unavailable (e.g., file busy).
请求的操作没有被执行。 系统存储空间不足。 文件不可用
-----------------------------------
500 Syntax error, command unrecognized. This may include errors such as
command line too long.
语法错误,不可识别的命令。 这可能是命令行过长。
-----------------------------------
501 Syntax error in parameters or arguments.
参数错误导致的语法错误
-----------------------------------
502 Command not implemented.
命令未被执行
-----------------------------------
503 Bad sequence of commands.
命令的次序错误。
-----------------------------------
504 Command not implemented for that parameter.
由于参数错误,命令未被执行
-----------------------------------
530 Not logged in.
一般来说是密码错误。
530 Sorry, no ANONYMOUS access allowed.
这个就是不许匿名登录
530 Not logged in, unauthorized IP address
这个有点麻烦,你的IP不在站长允许访问的IP范围内,只有和站长联系,让他把你的IP网段加入Allow Access列表里吧
530 Not logged in, only one(也有可能是two or three) session from same IP allowed at a time.
每个IP只能开一个(也有可能是two or three) 下载,就不要用多线程啦,小心Ban了你。
-----------------------------------
532 Need account for storing files.
存储文件需要账户信息
-----------------------------------
550 Requested action not taken. File unavailable (e.g., file not found, no
access).
请求操作未被执行,文件不可用。
-----------------------------------
551 Requested action aborted. Page type unknown.
请求操作中止,页面类型未知
-----------------------------------
552 Requested file action aborted. Exceeded storage allocation (for current
directory or dataset).
对请求文件的操作中止。 超出存储分配
-----------------------------------
553 Requested action not taken. File name not allowed
请求操作未被执行。 文件名不允许
-----------------------------------
这种错误跟http协议类似,大致是:
2开头--成功
3开头--权限问题
4开头--文件问题
5开头--服务器问题
C. 这些HTTP错误码是什么意思
http错误是针对浏览器无法连接到服务器而增加出来的错误提示。引导并告诉浏览者该页是哪里出了问题。常见的http状态码和表示的意思如下:
400 Bad request(错误请求)、401 Logon failed(登录失败)、401 Logon failed e to server configuration(由于服务器配置,登录失败)、401Unauthorized e to ACL on resource(由于资源上的 ACL,未授权)、401 Authorization failed by filter(由于筛选器,授权失败)。
401 Authorization failed by ISAPI/CGI application (由于 ISAPI/CGI 应用程序,授权失败)、403 Execute access forbidden(执行访问被禁止)、403 ead access forbidden(读取访问被禁止)、403 Write access forbidden(写入访问被禁止)。
403 SSL required(要求 SSL )、403 SSL 128 required(要求 SSL 128)、403 IP address rejected (IP 地址被拒绝)、403 Client certificate required(要求客户证书)。
500 Internal server error(内部服务器错误)、500 Application restarting(应用程序重新启动)、500 Server too busy(服务器太忙)、500 Requests forGlobal.asanot allowed(不允许请求 Global.asa)、500-100.asp ASP 错误、501 Not implemented(没有实施)、502 Bad gateway(错误网关)。
(3)ftp202扩展阅读:
状态码,由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。
HTTP状态码的官方注册表由互联网号码分配局(Internet Assigned Numbers Authority)维护。
微软互联网信息服务(Microsoft Internet Information Services)有时会使用额外的十进制子代码来获取更多具体信息,但是这些子代码仅出现在响应有效内容和文档中,而不是代替实际的HTTP状态代码。
D. 请解释一下FTP连接的命令及响应
FTP命令
命令 描述
ABOR 中断数据连接程序
ACCT <account> 系统特权帐号
ALLO <bytes> 为服务器上的文件存储器分配字节
APPE <filename> 添加文件到服务器同名文件
CDUP <dir path> 改变服务器上的父目录
CWD <dir path> 改变服务器上的工作目录
DELE <filename> 删除服务器上的指定文件
HELP <command> 返回指定命令信息
LIST <name> 如果是文件名列出文件信息,如果是目录则列出文件列表
MODE <mode> 传输模式(S=流模式,B=块模式,C=压缩模式)
MKD <directory> 在服务器上建立指定目录
NLST <directory> 列出指定目录内容
NOOP 无动作,除了来自服务器上的承认
PASS <password> 系统登录密码
PASV 请求服务器等待数据连接
PORT <address> IP 地址和两字节的端口 ID
PWD 显示当前工作目录
QUIT 从 FTP 服务器上退出登录
REIN 重新初始化登录状态连接
REST <offset> 由特定偏移量重启文件传递
RETR <filename> 从服务器上找回(复制)文件
RMD <directory> 在服务器上删除指定目录
RNFR <old path> 对旧路径重命名
RNTO <new path> 对新路径重命名
SITE <params> 由服务器提供的站点特殊参数
SMNT <pathname> 挂载指定文件结构
STAT <directory> 在当前程序或目录上返回信息
STOR <filename> 储存(复制)文件到服务器上
STOU <filename> 储存文件到服务器名称上
STRU <type> 数据结构(F=文件,R=记录,P=页面)
SYST 返回服务器使用的操作系统
TYPE <data type> 数据类型(A=ASCII,E=EBCDIC,I=binary)
USER <username>> 系统登录的用户名
FTP响应码
响应代码 解释说明
110 新文件指示器上的重启标记
120 服务器准备就绪的时间(分钟数)
125 打开数据连接,开始传输
150 打开连接
200 成功
202 命令没有执行
211 系统状态回复
212 目录状态回复
213 文件状态回复
214 帮助信息回复
215 系统类型回复
220 服务就绪
221 退出网络
225 打开数据连接
226 结束数据连接
227 进入被动模式(IP 地址、ID 端口)
230 登录因特网
250 文件行为完成
257 路径名建立
331 要求密码
332 要求帐号
350 文件行为暂停
421 服务关闭
425 无法打开数据连接
426 结束连接
450 文件不可用
451 遇到本地错误
452 磁盘空间不足
500 无效命令
501 错误参数
502 命令没有执行
503 错误指令序列
504 无效命令参数
530 未登录网络
532 存储文件需要帐号
550 文件不可用
551 不知道的页类型
552 超过存储分配
553 文件名不允许
E. 链夊氱嶆柟娉曞彲浠ョ敤𨱒ユ带鍒 outlook express 鎺ユ敹闾浠跺拰鏂伴椈.浣嗕笉鍖呮嫭
链夊氱嶆柟娉曞彲浠ョ敤𨱒ユ带鍒 outlook express鎺ユ敹闾浠跺拰鏂伴椈锛屼絾涓嶅寘𨰾鍙浠ラ樆姝浠庢煇涓狪P鍦板潃鍙戦佺殑闾浠躲
FTP钬斺旀枃浠朵紶杈揿岗璁(File Transfer Protocol)銆銆
FTP瀹炵幇璁$畻链轰箣闂寸殑鏂囦欢浼犺緭銆备娇鐢‵TP镞讹纴鐢ㄦ埛镞犻渶鍏冲绩瀵瑰簲璁$畻链虹殑浣岖疆锛屼互鍙娄娇鐢ㄧ殑鏂囦欢绯荤粺銆侳TP浣跨敤TCP杩炴帴鍜孴CP绔鍙o绂鍦ㄨ繘琛岄氢俊镞讹纴FTP闇瑕佸缓绔嬩袱涓猅CP杩炴帴锛屼竴涓鐢ㄤ簬鎺у埗淇℃伅(濡傚懡浠ゅ拰鍝嶅簲锛孴CP绔鍙e彿缂虹渷鍊间负21)锛屽彟涓涓鏄鏁版嵁淇℃伅(绔鍙e彿缂虹渷鍊间负20)镄勪紶杈撱
浣跨敤FTP锻戒护镞讹纴瑕佹眰鐢ㄦ埛鍦ㄤ袱鍙拌$畻链轰笂閮藉叿链夎嚜宸辩殑(鎴栬呭彲鐢ㄧ殑)甯愬彿銆
锻戒护镙煎纺锛 ftp [ -dgintv][host][-dgintv]锛欶TP锻戒护阃夐”[host]锛氢富链哄悕鎴栬呬富链哄瑰簲镄処P鍦板潃渚嬶细ftp 202銆
镓╁𪾢璧勬枡锛
FTP宸ヤ綔铡熺悊銆銆
1銆丗TP链嶅姟鍣ㄨ繍琛孎TPd瀹堟姢杩涚▼锛岀瓑寰呯敤鎴风殑FTP璇锋眰銆伞銆
2銆佺敤鎴疯繍琛孎TP锻戒护,璇锋眰FTP链嶅姟鍣ㄤ负鍏舵湇锷°备緥锛欶TP 202銆119銆2銆197銆
3銆丗TPd瀹堟姢杩涚▼鏀跺埌鐢ㄦ埛镄凢TP璇锋眰钖庯纴娲剧敓鍑哄瓙杩涚▼FTP涓庣敤鎴疯繘绋婩TP浜や簰锛屽缓绔嬫枃浠朵紶杈撴带鍒惰繛鎺ワ纴浣跨敤TCP绔鍙21銆
4銆佺敤鎴疯緭鍏FTP瀛愬懡浠わ纴链嶅姟鍣ㄦ帴鏀跺瓙锻戒护锛屽傛灉锻戒护姝g‘锛屽弻鏂瑰悇娲剧敓涓涓鏁版嵁浼犺緭杩涚▼FTP-DATA,寤虹珛鏁版嵁杩炴帴锛屼娇鐢═CP绔鍙20锛岃繘琛屾暟鎹浼犺緭銆伞銆
5銆佹湰娆″瓙锻戒护镄勬暟鎹浼犺緭瀹岋纴𨰾嗛櫎鏁版嵁杩炴帴锛岀粨𨱒烣TP-DATA杩涚▼銆
6銆佺敤鎴风户缁杈揿叆FTP瀛愬懡浠わ纴閲嶅岖4銆5镄勮繃绋嬶纴鐩磋呖鐢ㄦ埛杈揿叆quit锻戒护锛屽弻鏂规媶闄ゆ带鍒惰繛鎺ワ纴缁撴潫鏂囦欢浼犺緭锛岀粨𨱒烣TP杩涚▼銆
Step1. 云服务器配置FTP服务
1.root权限通命令安装Vsftp
[root@VM_250_202_tlinux ~]# yum install vsftpd
2.启vsftpd服务前需要登录云服务器修改配置文件匿名登录禁用掉打配置文件命令:
[root@VM_250_202_tlinux ~]# vim /etc/vsftpd/vsftpd.conf
配置文件第11行anonymous_enable=YES前面加#号即匿名登录禁用
3.读取效配置
[root@VM_250_202_tlinux ~]# cat /etc/vsftpd/vsftpd.conf |grep ^[^#] local_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpserlist_enable=YEStcp_wrappers=YES
4.启vsftpd服务
[root@VM_250_202_tlinux ~]# service vsftpd start
5.设置FTP用户账号设置功即通该账号登录FTP服务器(1)设置FTP用户账号例账号ftpuser1目录/home/ftpuser1且设置允许通ssh登录
[root@VM_250_202_tlinux ~]# useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
(2)设置账号应密码例密码ftpuser1
[root@VM_250_202_tlinux ~]# passwd ftpuser1
6.修改vsftpdpam配置使发者通自设置FTP用户帐号密码连接云服务器(1)修改pam
[root@VM_250_202_tlinux ~]# vim /etc/pam.d/vsftpd
内容修改:
#%PAM-1.0 auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required /lib64/security/pam_unix.so shadow nullok auth required /lib64/security/pam_shells.so account required /lib64/security/pam_unix.so session required /lib64/security/pam_unix.so
(2)确认修改文件否确
[root@VM_250_202_tlinux ~]# cat /etc/pam.d/vsftpd#%PAM-1.0 auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required /lib64/security/pam_unix.so shadow nullok auth required /lib64/security/pam_shells.so account required /lib64/security/pam_unix.so session required /lib64/security/pam_unix.so
(3)重启vsftpd服务使修改效
[root@VM_250_202_tlinux ~]# service vsftpd restartShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ]
Step2. 传文件Linux云服务器
1.载并安装源软件FileZilla请使用FileZilla3.5.1、3.5.2版本(使用3.5.3版本FileZilla进行FTP传问题)由于FileZilla 官网提供新3.5.3版本载建议发者自行搜索3.5.1、3.5.2载址建议3.5.1 载址:
2.连接FTP运行FileZilla按图所示进行配置配置点击快速链接:
配置信息说明:(1)主机:云服务器公网IP(云服务器管理视图页面查看云服务器公网IP)(2)用户名:Step1设置FTP用户账号ftpuser1例(3)密码:Step1设置FTP用户账号应密码ftpuser1例(4)端口:FTP监听端口默认21
3.传文件Linux云服务器传文件鼠标选本文件拖拽远程站点即文件传Linux云服务器注意:云服务器FTP通道支持传tar压缩包自解压及删除tar包功能