FTP主動模式(port)和被動模式(PASV)有什么區(qū)別
  • 更新時間:2024-12-25 01:44:18
  • 分享
  • 發(fā)布時間:6年前
  • 6883

FTP是我們?nèi)粘=ㄕ局惺褂妙l率很高的一款軟件了,我們在使用FTP的時候經(jīng)常會遇到Socket ERROR,那么這種錯誤我們應(yīng)該如何解決?


首先我們來了解一下FTP的兩種模式(主動模式和被動模式):


主動模式:


FTP客戶端使用N(N>1023)端口連接到FTP服務(wù)器的21端口,發(fā)送用戶名和密碼登錄,登錄成功后要list列表或者讀取數(shù)據(jù)時,客戶端開放N+1端口,發(fā)送 PORT命令到FTP服務(wù)器,告訴服務(wù)器客戶端采用主動模式并開放端口;FTP服務(wù)器收到PORT主動模式命令和端口號后,通過服務(wù)器的20端口和客戶端開放的端口連接,發(fā)送數(shù)據(jù).


被動模式:


FTP客戶端使用N(N>1023)連接FTP服務(wù)器的21端口,發(fā)送用戶名和密碼登錄,登錄成功后要list列表或者讀取數(shù)據(jù)時,發(fā)送PASV命令到FTP服務(wù)器, 服務(wù)器在本地開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再通過N+1端口連接到服務(wù)器開放的端口進行數(shù)據(jù)傳輸


當我們連接FTP時,無法顯示目錄列表,這個時候又可能就是模式選擇的問題,相同的軟件,版本不同,設(shè)置方法也略有不同,因此需要根據(jù)實際情況進行設(shè)置。


區(qū)別對比


二者的區(qū)別主要在于建立數(shù)據(jù)傳輸連接的時候,主模式的連接發(fā)起方為服務(wù)器端,使用20號端口連接客戶端的N+1端口建立數(shù)據(jù)連接;被動模式連接發(fā)起方為客戶端,客戶端使用端口號+1去連接服務(wù)器的某一高位端口;


網(wǎng)絡(luò)設(shè)置區(qū)別


主動模式下,客戶端的FTP軟件設(shè)置主動模式開放的端口段,在客戶端的防火墻開放對應(yīng)的端口段即可。

有一種常見問題是:服務(wù)器端只開放了21端口, 客戶端機器沒開放任何端口。FTP客戶端連接采用的被動模式,結(jié)果客戶端能登錄成功,但是無法LIST列表和讀取數(shù)據(jù)。很明顯,是因為服務(wù)器端沒開放被動模式下的隨機端口導致。

由于被動模式下,服務(wù)器端開放的端口隨機,但是防火墻要不能全部開放,解決的方案是,在ftp服務(wù)器配置被動模式下開放部分隨機高位端口(范圍在ftp服務(wù)器軟件設(shè)置,可以設(shè)置任意1024上的端口段),然后在防火墻設(shè)置規(guī)則,開放服務(wù)器端相應(yīng)的端口號即可。





我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!

本文章出于推來客官網(wǎng),轉(zhuǎn)載請表明原文地址:https://www.tlkjt.com/marketing/105.html
推薦文章

在線客服

掃碼聯(lián)系客服

3985758

回到頂部