FTP“ 425无法打开数据连接”仅在使用命令提示符时发生


8

我所有的计算机都在单个路由器后面。我有一个运行在其中之一的FileZilla服务器。我正在尝试使用批处理脚本和Window的内置ftp.exe自动上传到服务器。我已经设置了动态DNS服务,以便能够从路由器外部访问我的服务器,并且已经在路由器中设置了到我服务器的端口转发。我可以使用Google Chrome,Windows资源管理器和FileZilla客户端进行连接和传输。但是,每当我尝试使用ftp.exe(手动或以批处理脚本方式)时,都可以连接到服务器,但是如果尝试执行任何会打开数据连接的操作(LIST,STOR或RETR),则会出现以下错误:425无法打开数据连接。我在两台计算机的防火墙中都允许ftp.exe。有任何想法怎么回事或如何解决?我不需要使用ftp。

编辑我知道我的ISP阻止了许多端口,包括21个端口和该范围内的其他几个端口。这些都在端口2121上设置,无源端口设置为2122-2142,所有这些都已在路由器中转发。也许ftp.exe将仅使用某个端口进行数据连接,但是我的ISP阻止了该端口?如果是这样,我将如何更改?

Answers:


5

常规活动FTP使用单独的服务器启动的数据连接进行传输,并且仅将常规端口21连接用作控制通道。但是,当客户端位于防火墙后面时,防火墙可能会阻止此连接。我猜想Chrome,Explorer,FireZilla等足够聪明,可以尝试被动模式,在这种模式下,原始的客户端启动的连接既用作控制通道,又用作数据通道。

Windows的默认CLI FTP客户端似乎不支持被动模式。因此,您需要切换到NcFTP。另外,我认为可能更好的选择是仅使用SFTP。FTP是不安全的,实际上只能在局域网上使用。SFTP已完全加密,并且仅使用单个通道存储数据和命令。如果需要CLI SFTP客户端,PSFTP是一个不错的选择。


我已经尝试过运气了
Garrett

@Garrett:嗯...看来,我链接到的博客文章是错误的,并且默认的CLI FTP客户端不支持被动模式。在这种情况下,您将必须切换FTP客户端。NcFTP是一种选择,它绝对支持被动模式。
冒犯君主

我通过Windows资源管理器传输时观看了请求/响应,使用引号手动发送了完全相同的命令,但仍然遇到相同的错误
Garrett 2012年

@Garrett:我以为Windows资源管理器有效吗?如果客户端不支持被动模式,则告诉服务器切换到被动模式无关紧要。
冒犯君主

它是否支持命令行,并且是独立的exe?
加勒特


0

我也有这个问题。解决方案是停止防病毒防火墙(在我的情况下为McAfee),阻止防火墙的FTP端口。


那不是真正的解决方案。
ivan_pozdeev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.