FTP 工作模式

来源:互联网 发布:c语言入门书籍推荐2016 编辑:程序博客网 时间:2024/05/09 15:41
FTP 工作模式
FTPFile Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTPFTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

Port
模式:
ftp server:tcp 21 <------client:dynamic
ftp server:tcp 20 ------>client:dynamic
Pasv模式:
ftp server:tcp 21 <----client:dynamic
ftp server:tcp dynamic <----client:dynamic

PORT
(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:我打开了XXXX端口,你过来连接我。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:我打开了XXXX端口,你过来连接我。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
注意:选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端,而不是在FTP服务器。
 
FTP 常见问题现象于分析
一、无法访问FTP SERVER
原因可能是
1
、有防火墙过滤了ftp请求
2
、客户端强制使用PASV MODE连接,而FTP SERVER不支持或没有开启PASV MODE
3
、网络无法访问
二、客户端能够登陆,但是无法浏览数据
原因可能是
1
、客户端处于内网,而且GATEWAY没有相关设置允许PORT MODE 访问远程FTP SERVER
2
、客户端本身有网络限制了自己1024以上端口的访问(如:TCP/IP筛选)
3
、客户端使用的软件没有开启或支持PASV MODE 的访问
三、有的能登陆,有的不能登陆
原因是不能登陆的客户端没有使用PASV MODE 访问FTP SERVER
 
FTP 访问出错排查步骤
1、确认能够在FTP SERVER 上以127.0.0.1访问自己
2
、确认在FTP SERVER 上能够以使用的IP访问
3
、确认客户端和服务器端网络通畅
4
、确认双方的防火墙设置正确
5
、确认双方的访问模式正确
 
FTP 常见问题的解决
一、FTP SERVER 有公网IP,且前面有防火墙
1、在防火墙上开启21端口(默认)
2
、在FTP SERVER 上开启PASV MODE 支持
3
、在FTP SERVER 上指定PASV MODE 使用的端口范围
4
、在防火墙上开放相应的PASV MODE 所需要的端口
二、FTP SERVER 处于内网
1、如果有防火墙,参照上面的设置
2
、在GATEWAY 上做端口映射,映射TCP 21端口到FTP SERVER 21端口
3
、在FTP SERVER 上指定PASV MODE 使用的端口范围
4
、还需要额外的在GATEWAY 上再映射20端口和PASV MODE 使用的端口到FTP SERVER

三、FTP CLIENT
1、在防火墙上允许对外21端口的访问
2
、在防火墙上开启1024端口以支持使用PORT MODE 从内网访问外网的FTP SERVER
3
、开启FTP CLIENT 使用软件的PASV模式支持(如IE 默认是不使用PASV MODE

说明1PASV MODE 端口范围的作用:
当客户端以PASV方式连接服务器的时候,服务器就会在这个端口范围里挑选一个端口出来,给客户端连接。如果不指定,默认是随机的1024以上的端口。
说明2IE开启PASV MODE的方法:控制面板->INTERNET选项->高级标签->启用被动FTP

总结:在架设FTP SERVER出现问题后,根据经验,用以下原则进行设置可以解决大多数问题
1
FTP SERVER 启用并指定PASV MODE 使用的端口范围,如果有防火墙在防火墙上允许这些端口的访问
2
FTP CLIENT 尽量不要使用IEIE只是一个粗糙的FTP CLIENT 工具,默认不开启PASV MODE ,访问出错信息单一
3
FTP CLIENT 关闭TCP/IP筛选
4
、尽量使用PASV MODE 访问FTP服务器,而非PORT MODE
 
原创粉丝点击