po出问题前先了解一下FTP传输的主动被动模式:
众所周知,标准FTP传输需要两个TCP/IP连接,一个21端口是用于控制连接,20端口用于控制传输,命令连接的端口是固定的,连接是持续的,而数据连接的端口是随机的,是临时产生的,而且连接是随连随断的。于客户端主动发起数据端口,还是服务器端主动发起数据端口的不同,定义了FTP的两种传输模式,PORT和PASV。
PORT模式(主动模式),是客户端通过PORT命令告诉服务器端要使用的数据端口号,然后在客户端主动建立起这个端口的TCP/IP监听。在进行文件传输的操作时,服务器来连接客户端的这个数据端口,进行数据传输。
PASV模式(被动模式),是客户端通过PASV命令来告诉服务器端,想使用PASV方式传输数据。服务器收到命令之后,主动在服务器端建立一个数据端口的TCP/IP监听,并把这个数据端口号返回客户端。在进行文件传输的操作时,客户端去连接服务器端的这个数据端口,进行数据传输。
问题1:
想实现的功能:在多台Windows2008服务器上部署了bat监控脚本,需要把生成的文件定时ftp到一台linux服务器上,方便汇总查看。
多台服务器需要定时使用ftp上传文件到linux服务器中,发现其中部分使用win2008系统的服务器不能正常上传文件,其他的同样系统都正常。登录win2008服务器,使用ftp命令打开地址可以正常登录到ftp服务器中,但是使用put、dir命令就长时间服务器无响应传输失败,如下图所示:
显示“200 PORT command successful. Consider using PASV.”
500 illegal port command
425 USE PORTOR PASV first
联系客服