Answers:
当服务器尝试重新连接到您但无法连接时,通常会看到这种情况。FTP最初使用两个TCP通道。一个用于命令,另一个用于传输数据。当您运行dir命令时,它将使用一个数据通道。数据通道是按需建立的,导致服务器尝试重新连接到您。
这很可能是由您的路由器或Windows防火墙阻止的。您需要支持PASV模式的客户端。
您可以在Internet Explorer中启用PASV模式。或使用其他客户端。我不确定命令行版本是否可以使用PASV模式。这是一个非常基本的客户。
登录到相关框后,我就无法通过FTP传输文件了。它将创建文件名,但是文件为空。我通过执行以下操作解决了该问题:
现在走应该很好。
Windows FTP命令行客户端ftp.exe
仅支持活动的FTP模式。
由于防火墙和NAT,如今在活动模式下设置FTP可能很麻烦。
可能是由于您的本地防火墙或NAT导致服务器无法重新连接到客户端以建立目录列表(ls
或dir
命令)的数据传输连接。
或者您的客户端不知道其外部IP地址,而是向服务器提供内部地址(在PORT
命令中),而服务器显然无法使用该内部地址。
请参阅我的文章“活动模式的网络配置”。
如果可能,您应该使用被动模式,因为它通常不需要在客户端进行其他设置。
不幸的是,Windows FTP命令行客户端(ftp.exe
)根本不支持被动模式。如今,它变得毫无用处。
请改用任何其他Windows FTP命令行客户端。其他大多数支持被动模式。
例如,WinSCP默认为被动模式,并且提供了将Windows FTP脚本转换为WinSCP脚本的指南。
(我是WinSCP的作者)
winscp.com
和都winscp.exe
在同一个文件夹中。我相信该错误消息清楚地表明在其文件夹中进行winscp.com
查找winscp.exe
。另请参见winscp.net/eng/docs/executables
我在Windows 2008服务器上遇到此问题。
本文提出使应用层网关服务。这没有为我解决问题。
解决问题的方法是在Windows防火墙中为C:\ Windows \ system32 \ ftp.exe添加例外
我在Windows 7计算机上遇到了与第三方POS软件相同的问题,该软件将客户端事务数据批回到SQL Server。
直到客户端位置更改了ISP(因此更改了静态IP地址)之前,它都运行良好。命令行FTP命令在首次登录后无法正常工作,并且我在网上发现的任何补救措施都无效,或者此线程无效。
只是踢,我重新创造了防火墙的FTP规则,小气鬼d-link路由器/防火墙,和中提琴,它似乎可以正常工作了。
FTP问题
Azure NSG和服务器防火墙上的开放端口:21,20,4000-40009,990,14147
问题:客户端无法从命令行和Powershell连接到ftp
我们能够与testuser连接,但看不到目录/列表
在服务器和我的笔记本电脑上安装了Wireshark以捕获数据包在Wirehark上使用“ ftp”和“ IP”创建了一个过滤器数据包捕获并未说明天气是被动还是主动模式,并且源IP正确。(我们在服务器上配置主要IP和辅助IP)
我们发现在命令提示符下ftp连接不起作用。尝试启动与ftp.abcd.com的连接,该连接已解析为11.22.33.44,而不是实际的FTP服务器44.33.22.11 IP地址11.22.33.44和44.33.22.11均配置在同一台计算机上。但是,DNS解析为辅助FTP IP,而不是主要IP
最初,我们还发现与11.22.33.44的FTP连接工作正常,并且这些连接为活动连接。我们看不到“被动”模式在这里起作用。同样,当从Commad promt启动到11.22.33.44的连接时,会话在您发出“ dir”命令后冻结,但是对于其他FTP客户端(如FileZilla和Winscp)也是如此。
我尝试使用WinSCP和FileZilla进行测试,发现被动模式连接工作正常,而主动模式则不是预期的行为。我们检查了为什么成功通过身份验证后的设备无法使用“ dir”命令,我们发现Windows防火墙阻止了该连接。我们禁用了防火墙,一切都按预期开始工作。创建防火墙规则后,我在一端进行了检查,问题已解决。有一个系统即使在禁用防火墙后仍停留在目录列表中,这可能是该系统内的一个问题,或者是由于外部因素而阻止了连接。由于禁用后,我们大多数人都能正常工作。
需要在计算机上进行设置转到“控制面板”→“ Windows防火墙”→“高级设置”→“入站规则”双击“名称”列以按名称排序向下滚动,直到看到两个称为“文件传输程序”的规则;这些设置为在我的PC上为“阻止”(带有红色圆圈的大红色圆圈)双击规则在“常规”选项卡上的“操作”下,设置为“允许连接”,单击“确定”。