FTP是有两种数据连接模式的,主动模式和被动模式。

PORT(主动)方式:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:

客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

ftp默认为port主动模式,如果客户端pc所在网络有防火墙,则ftp server在数据传输时,就不能连接到client。

解决方法:

修改模式

Windows Cmd下默认为主动模式,更改Ftp为被动的方法:

ftp> quote PASV

Linux Ftp命令下默认为被动模式,更改为主动的方法:

ftp> passive

内容来源于网络如有侵权请私信删除

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐