日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • FTP 基礎(chǔ) 與 使用 Docker 搭建 Vsftpd 的 FTP 服務(wù)
    • 前言
    • 使用 Docker 搭建 Vsftpd 的 FTP 服務(wù)
    • 后記
    • 參考

FTP 基礎(chǔ) 與 使用 Docker 搭建 Vsftpd 的 FTP 服務(wù)

前言

最近的工作中,需要將手機上的文件發(fā)送到公司的 FTP 的服務(wù)器。按照從前的思路,自然是,先將文件傳到電腦,再由電腦上傳到 FTP 服務(wù)器上;經(jīng)過一份搜索后找到了 質(zhì)感文件 這個 Android 應(yīng)用,這樣就可以通過無線網(wǎng)直接連接 FTP 服務(wù)器了。

FTP 基礎(chǔ)FTP 需要兩個端口,一個是數(shù)據(jù)端口,一個是控制端口。在主動模式下,控制端口一般為21,數(shù)據(jù)端口一般為20(控制端口 – 1);在被動模式下,由服務(wù)器端和客戶端協(xié)商決定。FTP 地址為:ftp://用戶名:密碼@IP地址或域名:控制端口號FTP 的傳輸方式有兩種:
(1)ASCII傳輸方式,即假定用戶正在拷貝的文件包含簡單的ASCII碼文本,通常傳輸時會自動調(diào)整格式
(2)二進制傳輸模式,即逐位傳輸FTP 的工作模式有兩種:
(1)PORT主動模式,意為服務(wù)端主動從20端口連接客戶端告知的端口
(2)PASV被動模式,意為服務(wù)端 告知 客戶端 地址和端口后,等待客戶端連接
(3)對比:主動模式需要客戶端必須開放端口給服務(wù)器,服務(wù)器要可以連上客戶端,這就要求客戶端為公網(wǎng) IP(經(jīng)過 NAT 后地址就變化了)且防火墻打開。而實際情況下,公網(wǎng) IP 比較少而且很多客戶端都是在防火墻內(nèi),由路由器交換機進行著 NAT,還要協(xié)調(diào)開放端口。被動模式只需要服務(wù)器端開放端口給客戶端連接就行了,而服務(wù)器為了便于訪問,一般會放在公網(wǎng),所以被動模式使用較多。主動被動模式選擇權(quán)在客戶端

此處比較奇怪,為什么服務(wù)器會告知客戶端地址,直接讓客戶端使用訪問服務(wù)器時的地址不可以嗎?我的思考是,機器一般無法取得自己外網(wǎng)的地址,而且 FTP 協(xié)議中確有要求,要傳輸?shù)刂罚?/p>

使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細過程

(圖為 FileZilla 中被動模式傳輸文件)

這里可能就會好奇了,前面的地址好理解,后面的兩個數(shù)字是什么意思。通過這篇文章得知,端口號為數(shù)字1 * 256 + 數(shù)字2,Wireshark 中的截圖也印證了這一點:

使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細過程

(圖為 Wireshark 中捕獲的傳輸接口)

使用 Docker 搭建 Vsftpd 的 FTP 服務(wù)

我們使用的 Docker 鏡像為 fauria/vsftpd。

docker run -d -v /root/ftp:/home/vsftpd \
--p 60020:20 -p 60021:21 -p 61100-61105:61100-61105 \
-e FTP_USER=battor -e FTP_PASS=nihaonihao123123 \
-e PASV_ADDRESS=1.2.3.4 -e PASV_MIN_PORT=61100 -e PASV_MAX_PORT=61105 \
--name vsftpd --restart=always fauria/vsftpd

-v 意為將容器中的路徑映射到本地文件系統(tǒng)(“冒號”前為 本地文件系統(tǒng)路徑,“冒號”后為 容器中的文件系統(tǒng)路徑)。
-p 意為將容器的端口號映射到本地,可以看到映射了一個范圍的地址,這些端口是被動模式下開放給客戶端的,要與后面的 PASV_MIN_PORT (被動模式最小端口) 和 PASV_MAX_PORT (被動模式最大端口) 相對應(yīng)。
–name 用于指定容器名稱。
–restart 意為當(dāng) Docker 進程重啟時,立刻啟動該容器。

我們自己部署服務(wù)器時,應(yīng)當(dāng)盡量避免使用默認端口,以減少被黑客攻擊的風(fēng)險。故此處使用 60020 和 60021,以及 61100 至 61105 端口

此外需要注意的是,PASV_ADDRESS 需要配置為服務(wù)器對應(yīng)的外網(wǎng)地址。否則無法連接:

使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細過程

(圖為 質(zhì)感文件 中連接時的情況)

然鵝在 FileZilla 客戶端測試中發(fā)現(xiàn),即使 配置為 127.0.0.1,某些客戶端亦可以正常連接,猜測是因為客戶端中存在類似的設(shè)置:

使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細過程

(圖為 FileZilla 客戶端的設(shè)置)

后記

由于 FTP 中的文件較為隱私,在這里就不展示配置成功后的效果了,實際使用起來還是很方便滴。

再次推薦下 質(zhì)感文件 這個 APP 吧,界面 Material Design 風(fēng)格,好看好用。支持 FTP 服務(wù)器,SFTP 服務(wù)器, SMB 服務(wù)器,還可作為 FTP 服務(wù)器使用。

參考

fauria/vsftpd

227 Entering Passive Mode 含義

分享到:
標簽:搭建 服務(wù) 服務(wù)器 詳細 過程
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定