【问题标题】:Can explicity ftps via Filezilla but not from code可以通过 Filezilla 明确 ftps,但不能通过代码
【发布时间】:2010-07-26 18:14:09
【问题描述】:

正如标题所述,我可以通过 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)> AUTH 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)> 断开连接。

【问题讨论】:

    标签: ftp ftpwebrequest ftps


    【解决方案1】:

    抱歉,我忘了带我的解决方案回到这里 - 这是隐式与显式 SSL。我对 FileZilla 用例使用隐式,但对 FTPWebRequest 使用显式。不幸的是,FTPWebRequest 不支持隐式,并且 NAT 在显式方面存在问题。

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

    【讨论】:

    • +1 为 Alex FTPS。但是,请注意自签名证书和隐式 SSL 连接。我必须修改 1.0.2 版本的源代码才能使其通过此链接 (ftps.codeplex.com/Thread/View.aspx?ThreadId=63605) 正常工作。但是,一旦我这样做了,它就完美无缺。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:
      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 2020-06-08
        • 1970-01-01
        相关资源
        最近更新 更多