什麼是 FTP(文件傳輸協議)?

不要與FTTP(光纖到戶)混淆,FTP 代表文件傳輸協議它是一個經典協議,於 1971 年作為RFC 114首次發布。自從個人計算機問世以來,它一直很有幫助。甚至需要能夠傳輸文件。在現代世界中,我們擁有數 GB 的 USB 拇指驅動器和數 TB 的外部硬盤驅動器。雲存儲為大多數用例提供了一系列存儲容量和功能集。

在 USB 標準化以及一些最大的雲存儲公司成立之前,情況有些不同。1971 年,軟盤剛剛發明,這項發明可以快速實現設備之間的數據傳輸。FTP 允許通過網絡傳輸,儘管當時還沒有互聯網。

FTP 太早了,甚至沒有使用 TCP,因為它也還沒有標準化。相反,它使用了 NCP 或網絡控制協議,它是 TCP/IP 的前身。這導致了 FTP 一個從未改變過的特別顯著的特徵,即雙端口系統。NCP 是一個簡單的協議。

因此,對於雙向通信,必須在兩個不同的端口上建立兩個連接,一個用於發送,一個用於接收。儘管最終被轉移到使用 TCP/IP,它沒有這個要求並且可以在單個雙工端口下完美運行,但 FTP 標準從未更新並保留了它的一對端口號。

使用FTP

FTP使用的兩個端口號是20和21。端口21用於控制和發布命令,端口20用於傳輸數據。在傳輸文件之前需要在連接中安排的核心內容之一是使用主動或被動模式。在主動模式下,客戶端請求一個文件。然後服務器打開到客戶端的數據連接。防火牆和 NAT 都存在相當大的問題,因為來自 FTP 服務器的傳入傳輸在不同的端口上,因此無法輕鬆鏈接到正確的設備。

為了解決這個問題,可以使用被動模式。在被動模式下,當用戶從服務器請求文件時,FTP 服務器不會直接嘗試連接到不同端口上的客戶端,而是通知客戶端它應該連接到的端口並讓客戶端發起連接。這有效地解決了活動模式的連接問題,並且除了文件傳輸開始時的輕微延遲之外沒有任何缺點。

從技術上講,服務器必須同意客戶端發送數據。但是,僅使用一種模式。這就是圖像模式,通常也稱為二進制模式。在圖像模式下,每個文件都是逐字節發送的。替代模式包括將整個文件轉換為 8 位 ASCII,這僅適用於文本文件。

身份驗證和安全

作為一個特別早期的協議標準,您可能不會對 FTP 不是特別安全感到驚訝。FTP 確實提供用戶名和密碼驗證。但是,它不會加密任何通信,這意味著任何處於 MitM 或中間人位置的人都可以“在線上”“監聽”流量,只需讀取用於登錄的用戶名和密碼。

FTP 還提供匿名登錄功能,對開放式 FTP 服務器很有用,例如用於提供軟件更新的服務器。在匿名登錄中,使用用戶名 anonymous。服務器隨後將要求提供電子郵件地址作為密碼,但可以接受任何值。缺乏加密也意味著文件傳輸不安全,因此 FTP 不適合用於敏感文檔。

隨著時間的推移,已經提出了一系列擴展和替代方案來增加 FTP 的安全性。FTPS 是主要選項。它通過使用 TLS 加密身份驗證和文件傳輸過程的選項擴展 FTP,並可與標準 FTP 客戶端互操作。SFTP,特別是 SSH 文件傳輸協議,本質上提供與 FTP 相同的功能,但基於安全通信協議 SSH,這使得它與標準 FTP 客戶端和服務器不兼容。

可以通過現有的 SSH 隧道路由連接。然而,在實踐中,這通常會導致通過 SSH 隧道的控制連接和不安全的單獨數據連接。VPN 提供了一些保護來防止與您在同一網絡上的黑客,但讓 VPN 提供商能夠執行相同的攻擊。

結論

FTP 代表文件傳輸協議。它是一種早期的客戶端-服務器協議,用於向 FTP 服務器上傳文件和從 FTP 服務器下載文件。默認情況下,FTP 不提供安全性。雖然可以使用用戶名和密碼,但它們以明文形式傳輸,因此容易受到網絡嗅探的攻擊。最近對 FTP 的擴展添加了通過 TLS 連接的選項以確保安全。

瀏覽器過去常常包含一個 FTP 客戶端,這樣您就可以直接瀏覽 FTP 服務器而無需單獨的客戶端。然而,在 2021 年,Chrome 和 Firefox 放棄了對 FTP 的支持,限制了對離散 FTP 客戶端的支持。在現代世界中,雲存儲解決方案——以及在較小程度上,快速而寬敞的 USB 存儲——通過提供更高的便利性、安全性和速度,基本上取代了 FTP 的用例。



Leave a Comment

如何克隆硬碟

如何克隆硬碟

在資料是寶貴資產的現代數位時代,在 Windows 上複製硬碟對許多人來說可能是一個至關重要的過程。這份綜合指南

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

您在啟動電腦時是否遇到錯誤訊息,提示驅動程式 WUDFRd 無法在電腦上載入?

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

您是否在桌面上遇到 NVIDIA GeForce 錯誤代碼 0x0003?如果是,請閱讀部落格以了解如何快速輕鬆地修復此錯誤。

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

如何在 2023 年從 Windows PC 中移除 GPU

如何在 2023 年從 Windows PC 中移除 GPU

您需要從 PC 上卸下 GPU 嗎?和我一起在這個分步指南中解釋如何從您的 PC 中刪除 GPU。

如何在台式機和筆記本電腦中安裝 NVMe SSD

如何在台式機和筆記本電腦中安裝 NVMe SSD

買了新的 NVMe M.2 SSD 但不知道如何安裝?繼續閱讀以了解如何在筆記本電腦或台式機上安裝 NVMe SSD。

什麼是邏輯炸彈?

什麼是邏輯炸彈?

邏輯炸彈是一種安全事件,攻擊者會在其中設置延遲操作。繼續閱讀以了解更多信息。

什麼是震網?

什麼是震網?

Stuxnet 是一種自我傳播的蠕蟲病毒。這是第一次使用網絡武器,也是第一個惡意軟件實例。

什麼是道德黑客?

什麼是道德黑客?

道德黑客是在法律約束下行事的黑客。繼續閱讀以了解有關該主題的更多信息。

什麼是對稱加密?

什麼是對稱加密?

密碼學有很多不同的部分。如果你想加密一些數據,你可以使用兩種類型的算法: symmetric