FTP即File Transfer Protocol文件傳輸協議
客戶端與服務端創建會話,雙方啓動控制進程,用到TCP的21端口
利用此端口控制文件是上傳仍是下載,刪除或是複製等操做命令。
真正的數據傳輸走的是另外的端口。web
主動模式
當會話創建完成後,客戶端就開啓某個端口好比6666,而後告訴服務器本身用的是6666端口偵聽,FTP服務器會主動訪問客戶端6666端口,服務器這邊的端口爲20。瀏覽器
被動模式
當會話創建完成後,服務器告訴客戶端本身打開了某個端口,好比8888這樣一個端口來偵聽,而後等待客戶端訪問,這就是被動模式。
(注意:使用主動模式,防火牆須要打開21和20端口。若是隻打開21和20端口,被動模式不能下載數據,訪問ftp不成功很大可能就是模式不對)服務器
下面,我將在本身的Win10上安裝與配置ftp服務器
1.win+R輸入:appwiz.cplapp
4.稍等一會
svg
5.在window管理工具下找到iis並點擊進入
工具
6.單擊網站添加站點
網站
7.站點名字隨意,物理路徑填找個文件夾路徑填就能夠了。
xml
8.選擇本身的ip地址blog
10.在同一局域網虛擬機上便可訪問,資源管理器和瀏覽器中均可訪問進程
那麼如何知道ftp服務器使用的是被動模式仍是主動模式呢?
我準備個大的文件,往共享的文件夾裏上傳文件,再查看會話進程就能夠看見了。注意文件要大,否則等還沒查看到,會話就結束了。
查看會話的命令:netstat -n
此時個人虛擬機中沒有會話
當會話開始後注意看,10.168.10.249爲ftp服務器的ip,後面跟的端口號不是20,顯然是被動模式的傳輸。
那我硬要改成主動模式的傳輸呢?
首先點擊工具選項卡找到Internet選項
點擊高級,取消勾
再次上傳文件,執行netstat -n命令
注意看,端口號變成20了,說明用的是主動模式傳輸。