Windows的FTP命令
1、登录
c:\>ftp
ftp> open 11.11.11.11 21
# 11.11.11.11是ip, 21是端口号
输入用户名和密码
2、查列表
ftp> cd /tmp/
ftp> ls
可能报错如下图
因为我的FTP是被动模式,PASV端口范围在60001-60500之间,而客户端未开放端口(60001-60500),导致连接超时。
3、下载一个文件
ftp> get tmp.txt /local/tmp.txt
# tmp.txt 是ftp上的文件,下载存为本地的/local/tmp.txt
4、FTP工作模式
4.1 主动模式
在主动模式下,客户端向FTP服务器的数据端口(默认为20)发起连接请求。服务器接收到请求后,从自己的数据端口向客户端发送数据。然而,在某些网络环境中(如客户端位于防火墙或NAT之后),主动模式可能无法正常工作,因为防火墙可能会阻止客户端发起的入站连接请求。为解决主动模式在特定网络环境中的限制,FTP引入了被动模式。
4.2 被动模式
在被动模式下,客户端向FTP服务器的控制端口(默认为21)发送PASV(Passive)命令,请求服务器开启一个随机的数据端口进行监听。然后,服务器会返回一个包含该数据端口号的响应给客户端。客户端接收到响应后,主动向服务器返回的数据端口发起连接请求,从而建立数据连接。被动模式允许客户端从任何位置发起连接请求,因此更适合于穿越防火墙和NAT环境的文件传输。
以上是百度百科。
4.3 我的理解
被动模式:服务器返回数据端口,告诉客户端,“连我这个端口,传输数据吧”
图中,60155就是服务器返回的数据端口,客户端去连接