PASV模式失敗正在嘗試PORT或數據Sock錯誤的解決方法
------------------------------------------------------------------------
1.什麼(me)是ftp中的PASV和PORT模式
FTP的連接一般有兩(liǎng)種(zhǒng):一種(zhǒng)是客戶程和服務器傳輸命令的,另一種(zhǒng)是數據傳送的連接。FTP服務程序一般會(huì)支兩(liǎng)種(zhǒng)不同的模式,一種(zhǒng)是Port模式,一種(zhǒng)是Passive模式(Pasv Mode)。
Port模式:
當客戶端向(xiàng)服務端連接後(hòu),使用的是Port模式,那麼(me)客戶端會(huì)發(fā)送一條命令告訴服務端(客戶端在本地打開(kāi)了一個端口在等著(zhe)你進(jìn)行數據連接),當服務端收到這(zhè)個Port命令後(hòu)就會(huì)向(xiàng)客戶端打開(kāi)的那個端口進(jìn)行連接,這(zhè)種(zhǒng)數據連接就生成(chéng)了。
Pasv模式:
當客戶端C向(xiàng)服務端S連接後(hòu),服務端S會(huì)發(fā)信息給客戶端C,這(zhè)個信息是(服務端S在本地打開(kāi)了一個端口M,你現在去連接我吧),當客戶端C收到這(zhè)個信息後(hòu),就可以向(xiàng)服務端S的M端口進(jìn)行連接,連接成(chéng)功後(hòu),數據連接也建立了。
從上面(miàn)的解釋中,可以看到兩(liǎng)種(zhǒng)模式主要的不同是數據連接建立的不同,對(duì)于Port模式,是客戶端C在本地打開(kāi)一個端口等服務端S去連接建立數據連接;而Pasv模式就是服務端S打開(kāi)一個端口等待客戶端C去建立一個數據連接。
FTP需要2個端口,一個端口是作爲控制連接端口,也就是21這(zhè)個端口,用于發(fā)送指令給服務器以及等待服務器響應;另一個端口是數據傳輸端口,端口号爲20(僅PORT模式),是用來建立數據傳輸通道(dào)的,主要有3個作用:
1.從客戶向(xiàng)服務器發(fā)送一個文件。
2.從服務器向(xiàng)客戶發(fā)送一個文件。
3.從服務器向(xiàng)客戶發(fā)送文件或目錄列表。
注意:所有FTP服務器軟件都(dōu)支持PORT方式,大部分FTP服務器軟件PORT方式和PASV方式都(dōu)支持,有些FTP服務器不支持PASV方式都(dōu)支持,故造成(chéng)了PASV 模式失敗,正在嘗試 PORT錯誤 或者 數據Sock錯誤。對(duì)症下藥,解決的方法其實很簡單――取消PASV模式。
2.具體的方法
1)在ie中如何啓用或者取消PASV模式:
如果要在ie裡(lǐ)啓用或關閉PASV方式,先打開(kāi)IE,在菜單裡(lǐ)選擇:工具 -> Internet選項 -> 高級,在“使用被(bèi)動ftp”前面(miàn)打上鈎或者去掉鈎,不過(guò)需要IE6.0以上才支持。
2)FTP下載工具取消被(bèi)動模式的方法:
★Cute FTP 3.5英文版:FTP―>Settings―>Options―>Firewall,將(jiāng)“PASV mode”前複選框中的打勾去掉。
★Cute FTP3.5中文版:FTP―>設置―>選項―>防火牆,“PASV方式(A)”前複選框中的打勾去掉。
★Cute FTP4.0中文版:右擊你所建立的ftp站點―>選擇屬性(properties)―>去掉"use PASV mod" 選擇項
★Cute FTP Pro2.0中文版:編輯―>全局設置―>連接―>連接類型,“PASV/PORT”下拉選項菜單選擇PORT。
★Leap FTP2.7.2:Sites―>Site Manager―>Advanced,將(jiāng)“Use PASV mode”前複選框中的打勾去掉。
★flashfxp: 選項->參數->代理->去掉“使用被(bèi)動模式”
★flashget: 選項->參數->代理服務器->編輯->將(jiāng)“Use PASV mode”前複選框中的打勾去掉。
3.其他補充
如果你用Serv-U架設FTP,那麼(me)Serv-U默認配置下兩(liǎng)種(zhǒng)方式都(dōu)支持。
如果要關閉PASV方式,打開(kāi)Serv-U,進(jìn)入 Domains -> user.dns0755.net -> Settings -> Advanced -> 把“Allow passive mode data transfers”前面(miàn)的鈎去掉。
在 Serv-U的Local Server -> Settings -> Advanced -> PASV port range裡(lǐ),填入給PASV模式使用的本地端口範圍,如60000-60020。請把端口範圍限制在20個以内。之後(hòu),再在防火牆裡(lǐ)打開(kāi)這(zhè)個範圍的端口就可以了。