【问题标题】:Passive FTP Timeout while using WinINet使用 WinINet 时的被动 FTP 超时
【发布时间】:2009-11-06 00:03:44
【问题描述】:

我正在尝试使用被动 ftp 对文件进行 ftp,但在调用 put 命令时出现超时 (12002)。

我可以将被动 ftp 与其他 ftp 站点一起使用,但不是这个新站点。

我已经在同一台服务器上使用三种不同的方式进行了尝试:

  • 被动模式下的 FileZilla 客户端 - 有效
  • WinINet 库处于被动模式 - 调用 PutFile 时出现超时
  • IE 6 处于被动模式 - 尝试列出目录时出现超时

这是在 Windows 2000 服务器上。

我假设自从 FileZilla 工作以来我的防火墙设置正确。

谁能帮我弄清楚发生了什么?

【问题讨论】:

    标签: windows ftp wininet passive-mode


    【解决方案1】:

    在被动模式下,FTP 服务器在其末端打开一个端口,并告诉 FTP 客户端它需要连接的 IP/端口。在客户端,它创建一个新的套接字,将其绑定到本地 IP/端口(通常是随机 IP/端口,除非另有配置),然后连接到服务器指定的 IP/端口。如果没有实际看到来自网络数据包嗅探器(如 Wireshark)的跟踪日志,那么我猜测客户端上的防火墙/路由器阻止了出站连接,或者服务器端的防火墙/路由器阻止了入站连接。 FileZilla 通过 OK 的事实可能意味着连接两端的 IP/端口对恰好匹配所有防火墙/路由器规则以接受两端的连接,而 WinInet/IE IP/端口对中的某些内容是反而被拒绝。这有点不寻常,因为被动模式往往比主动模式更适合防火墙/路由器。您是否尝试过使用 Windows 的命令行 ftp.exe 实用程序来查看它是否有效?顺便说一句,IE 的所有连接都使用 WinInet。

    【讨论】:

    • Windows 命令行 ftp 给我这个错误:425 无法建立数据连接:连接被拒绝 我很确定这是因为 ftp.exe 不支持被动 ftp。我会看看我是否可以弄清楚两个不同的程序正在使用哪些端口。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多