檔案傳輸協定
日期:2015/7/6 主題:安裝檔案傳輸協定
基本原理
- 屬於TCP服務的一種
- 需要兩個通訊Ports
- Port 21:命令通訊埠(Command Port)
- Port 20:資料通訊埠(Data Port)
- 又分為「主動模式」與「被動模式」兩種。
主動模式FTP(Active Mode)
- 伺服器開啟21埠,接受外面主機的連線。
- 用戶端使用大於1024(N)的埠號,來向伺服器的21埠連線。
- 伺服器回應用戶端。
- 用戶端開啟N+1埠號,並要求主動模式連線。
- 伺服器使用20埠(資料通訊)向用戶端的N+1埠號連線。
FTP的真正問題是在於「用戶端的防火牆」 如果用戶端在防火牆或NAT後面,那麼伺服器很容易連不上, 或是對於用戶端電腦有安全性上的疑慮。
- 用戶端傳送
PORT 192,168,1,100,6,160
代表為主動模式- PORT代表主動模式
- 192.168.1.100 為用戶端IP
- 6,160 代表埠號為 6*256 + 160 = 1696
被動模式(Passive Mode)
- 伺服器開啟21埠,接受外面主機的連線。
- 用戶端使用大於1024(N)的埠號,來向伺服器的21埠連線。
- 伺服器回應用戶端。
- 用戶端要求被動模式連線。
- 伺服器收到被動模式連線要求後,則開啟大於1024埠號,等待用戶端連線。
- 伺服器傳送主機IP與埠號給用戶端
- 用戶端使用N+1埠號與伺服器進行連線。
- 用戶端程式發出
PASV
的命令 - 伺服器則回應
210,202,94,228,8,0
- PASV代表被動模式
- 210.202.94.228為伺服器IP
- 8,0 代表埠號為 8*256 + 0 = 2048