近日由于客户需要传递系统运行结果故此需要在内网搭建一个FTP服务器,由于对方的客户端是linux的我的服务端是win2003的,故此在连接时出现以下异常;
[root@hljtnitsdb ~]# ftp 10.110.97.66 经过反复尝试发现能登陆上ftp但是无法执行其他命令,已开始以为是权限问题,对win系统下的账号进行最大化复权(付管理员权限),再次测试依然无效。 在网上查到一些关于ftp的资料,得知ftp分为主动和被动两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式 ,详细介绍如下:
主动 FTP :
被动 FTP : PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立一条数据链路来传送数据。 PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”。于是客户端向服务器的***X端口发送连接请求,建立一条数据链 路来传送数据。 由于我的本地FTP服务器在内网,只开启了两个端口(20,21),所以无法使用PASV方式,解决此问题的办法也很简单,关闭客户端的PASV方式,强制其用PORT方式访问服务器,登录FTP服务器后用passive命令关闭客户端的PASV方式,如下:
ftp> passive ftp> passive (再次运行命令可打开) Passive mode on. (责任编辑:IT) |