2010-07-26 72 views
1

正如標題狀態,我可以通過FileZilla的客戶我的服務器連接到另一臺機器,但無法通過代碼(.NET - 的FtpWebRequest)可以通過FileZilla中顯式FTPS而不是從代碼

我知道代碼是好,因爲它可以從另一臺機器上運行。我遇到的特定機器位於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 beta

2010/7/26下午十二時40分23秒 - (未 登錄)(xx.xx.xxx.xxx)> 220 ftp.xxxxxxxxxx.com

2010/7/26十二時四十分23秒PM - (不 登錄)(xx.xx.xxx.xxx)> AUTH TLS

2010/7/26下午十二時40分24秒 - (不 登錄)(xx.xx.xxx.xxx )> 234使用 身份驗證類型TLS

2010/7/26下午12時41分24秒 - (不 登錄)(xx.xx.xxx.xxx)> 421登錄 時間超出。關閉控制 連接。

7/26/2010 12:41:24 PM - (不是 已登錄)(xx.xx.xxx.xxx)> 已斷開連接。

回答

1

對不起,我忘了回到這裏與我的解決方案 - 這是隱式與顯式SSL。我對FileZilla用例隱式使用,但對於FTPWebRequest顯式使用。不幸的是,FTPWebRequest不支持隱式,並且NAT在顯式方面存在問題。

長話短說,我們使用了一種名爲Alex FTPS client的FTPS控件,該控件易於用於隱式或顯式ssl,易於設置並且工作完美無瑕。

+0

+1對於Alex FTPS。但是,請注意自簽名證書和隱式SSL連接。我不得不修改1.0.2版本的源代碼,以便通過此鏈接工作(http://ftps.codeplex.com/Thread/View.aspx?ThreadId=63605)。然而,一旦我做到了這一點,它的工作完美無瑕。 – mattmc3 2010-10-18 20:30:51

0

也許,證書存在問題,哪個服務器在TLS/SSL協商期間發送,即不被操作系統接受,等等。 嘗試運行Wireshark來檢查哪些數據實際上是在客戶端和服務器之間發送的。

0
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 
相關問題