可以通过Filezilla明确显示FTP,但不能通过代码

可以通过Filezilla明确显示FTP,但不能通过代码,ftp,ftpwebrequest,ftps,Ftp,Ftpwebrequest,Ftps,正如标题所述,我可以通过FileZilla客户端从服务器连接到另一台机器,但不能通过代码(.Net-FTPWebRequest) 我知道代码很好,因为它是从另一台机器上运行的。我遇到问题的特定机器在NAT后面,但是SA已经为我们试图与之通信的主机的流量打开了所有端口 有什么建议吗?我是否错过了一些明显的东西 我从尝试的连接中得到的异常是: “无法从数据库中读取数据 传输连接:一个连接 尝试失败,因为已连接 在一次会议之后,该党没有作出适当的回应 一段时间,或确定的时间 连接失败,因为已连接 主机

正如标题所述,我可以通过FileZilla客户端从服务器连接到另一台机器,但不能通过代码(.Net-FTPWebRequest)

我知道代码很好,因为它是从另一台机器上运行的。我遇到问题的特定机器在NAT后面,但是SA已经为我们试图与之通信的主机的流量打开了所有端口

有什么建议吗?我是否错过了一些明显的东西

我从尝试的连接中得到的异常是:

“无法从数据库中读取数据 传输连接:一个连接 尝试失败,因为已连接 在一次会议之后,该党没有作出适当的回应 一段时间,或确定的时间 连接失败,因为已连接 主机无法响应。“

我们试图连接的机器的日志显示:

2010年7月26日12:40:23(非 已登录)(xx.xx.xxx.xxx)>已连接, 正在发送欢迎消息

2010年7月26日12:40:23(非 已登录)(xx.xx.xxx.xxx)> 220 FileZilla服务器版本0.9.32 贝塔

2010年7月26日12:40:23(非 已登录)(xx.xx.xxx.xxx)>220 ftp.xxxxxxxxx.com

2010年7月26日12:40:23(非 已登录)(xx.xx.xxx.xxx)>验证TLS

2010年7月26日12:40:24(非 已登录)(xx.xx.xxx.xxx)>234使用 认证类型TLS

2010年7月26日12:41:24(非 已登录)(xx.xx.xxx.xxx)>421登录 时间超过了。关闭控制 连接

2010年7月26日12:41:24(非 已登录)(xx.xx.xxx.xxx)> 断开连接


可能是服务器在TLS/SSL协商期间发送的证书有问题,即操作系统不接受证书,等等。
尝试运行Wireshark以检查客户端和服务器之间实际发送了哪些数据。

可能是证书中存在问题,服务器在TLS/SSL协商期间发送了哪些数据,即操作系统不接受这些数据,等等。
尝试运行Wireshark来检查,哪些数据实际上是在客户端和服务器之间发送的。

很抱歉,我忘了带着我的解决方案回到这里-它是隐式SSL还是显式SSL。我在FileZilla用例中使用隐式,而在FTPWebRequest中使用显式。不幸的是,FTPWebRequest不支持隐式,NAT在显式方面有问题


长话短说,我们使用了一个名为FTPS的控件,它很容易用于隐式或显式ssl,易于设置,并且工作完美。

很抱歉,我忘了带着我的解决方案回到这里-它是隐式和显式ssl。我在FileZilla用例中使用隐式,而在FTPWebRequest中使用显式。不幸的是,FTPWebRequest不支持隐式,NAT在显式方面有问题

Dim auth = New System.Net.NetworkCredential(userName, password)
sRet = ftps.Connect(sAddress, 990, auth, ESSLSupportMode.Implicit, AddressOf UF.ValidateServerCertificate, Nothing, 0, 0, 0, 600000, True

长话短说,我们使用了一个名为FTPS的控件,该控件易于隐式或显式ssl使用,易于设置,并且工作完美。

+1用于Alex FTPS。但是,请小心使用自签名证书和隐式SSL连接。我必须修改1.0.2版本的源代码,以使其能够通过此链接()工作。然而,一旦我做到了这一点,它的工作就完美无缺了。但是,请小心使用自签名证书和隐式SSL连接。我必须修改1.0.2版本的源代码,以使其能够通过此链接()工作。然而,一旦我做到了这一点,它的工作就完美无缺了。
Dim auth = New System.Net.NetworkCredential(userName, password)
sRet = ftps.Connect(sAddress, 990, auth, ESSLSupportMode.Implicit, AddressOf UF.ValidateServerCertificate, Nothing, 0, 0, 0, 600000, True