2009-11-06 77 views
1

我试图使用被动ftp来ftp文件,但当调用put命令时,我得到超时(12002)。使用WinINet时被动FTP超时

我能够使用被动FTP与其他FTP站点,但不是这个新的。

我已经试过这使用在同一台服务器上三种不同的方式:

  • FileZilla Client in passive mode - this works
  • WinINet libarary in passive mode - I get a timeout when calling PutFile
  • IE 6 in passive mode - I get a timeout when the directory listing is attempted

这是一个Windows 2000服务器上。

我想我的防火墙设置正确,因为FileZilla工作。

任何人都可以帮我弄清楚发生了什么事吗?

回答

1

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

+0

Windows命令行ftp给我这个错误:425无法建立数据连接:连接被拒绝 我很确定这是因为被动ftp不被ftp.exe支持。 我会看看我是否可以找出哪两个不同的程序正在使用哪个端口。 谢谢 – Kristina 2009-11-06 14:31:02