0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FTP的主動(dòng)模式和被動(dòng)模式

阿銘linux ? 來(lái)源:阿銘linux ? 2023-02-06 15:09 ? 次閱讀

前言

FTP這個(gè)簡(jiǎn)單服務(wù)竟然還區(qū)分主動(dòng)和被動(dòng)。我第一次接觸到它,是在一次測(cè)試環(huán)境聯(lián)調(diào)排查問(wèn)題時(shí),發(fā)現(xiàn)了網(wǎng)絡(luò)通信異常,最后查資料才發(fā)現(xiàn)了FTP的主動(dòng)和被動(dòng)模式。

結(jié)論

先來(lái)上個(gè)簡(jiǎn)單的結(jié)論。

主動(dòng)模式(PORT):客戶端連FTP的默認(rèn)21端口,先驗(yàn)證用戶名密碼,然后服務(wù)器會(huì)開(kāi)放20端口,再去主動(dòng)連客戶端,連上后進(jìn)行數(shù)據(jù)傳輸。

被動(dòng)模式(PASV):客戶端連FTP的默認(rèn)21端口,先驗(yàn)證用戶名密碼,然后服務(wù)器會(huì)開(kāi)放一個(gè)隨機(jī)端口(大于1024)告訴客戶端,等著客戶端來(lái)連自己,連上后進(jìn)行數(shù)據(jù)傳輸。

f34562ba-a402-11ed-bfe3-dac502259ad0.png

主動(dòng)模式

f3923c8e-a402-11ed-bfe3-dac502259ad0.png

FTP客戶端使用隨機(jī)端口N(大于1024)連接到FTP服務(wù)器的21端口,發(fā)送用戶名和密碼登錄,登錄成功后要list列表或者讀取數(shù)據(jù)時(shí),客戶端開(kāi)放N+1端口(如果端口已經(jīng)被占用,則會(huì)再加1),發(fā)送 PORT命令到FTP服務(wù)器,告訴服務(wù)器客戶端采用主動(dòng)模式并開(kāi)放端口。

FTP服務(wù)器收到PORT主動(dòng)模式命令和端口號(hào)后,通過(guò)服務(wù)器的20端口和客戶端開(kāi)放的端口連接,發(fā)送數(shù)據(jù)。

被動(dòng)模式

f3a2ac0e-a402-11ed-bfe3-dac502259ad0.png

FTP客戶端使用隨機(jī)端口N(大于1024)連接FTP服務(wù)器的21端口,發(fā)送用戶名和密碼登錄,登錄成功后要list列表或者讀取數(shù)據(jù)時(shí),發(fā)送PASV命令到FTP服務(wù)器,服務(wù)器在本地開(kāi)放一個(gè)端口(大于1024),然后把開(kāi)放的端口告訴客戶端, 客戶端再通過(guò)N+1端口連接到服務(wù)器開(kāi)放的端口進(jìn)行數(shù)據(jù)傳輸。

如何選擇

知道了主動(dòng)模式與被動(dòng)模式的原理后,我們?cè)賮?lái)總結(jié)一下二者的區(qū)別:

二者的區(qū)別主要在于建立數(shù)據(jù)傳輸連接的時(shí)候,主模式的連接發(fā)起方為服務(wù)器端,使用20號(hào)端口連接客戶端的N+1端口建立數(shù)據(jù)連接。

被動(dòng)模式連接發(fā)起方為客戶端,客戶端使用端口號(hào)+1去連接服務(wù)器的某一高位端口。

所以,使用哪一種模式,取決于你的防火墻是如何設(shè)置的。

我們搭建完FTP服務(wù)器后,通常會(huì)在防火墻放行21和20端口,只要客戶端這邊沒(méi)有特殊的防火墻規(guī)則,那么使用主動(dòng)模式一定沒(méi)問(wèn)題。

反過(guò)來(lái),如果客戶端這邊有很嚴(yán)格的防火墻規(guī)則,而服務(wù)端防火墻規(guī)則可控(需要放行21和一個(gè)隨機(jī)端口范圍),那么就使用被動(dòng)模式。

有一種常見(jiàn)問(wèn)題是:服務(wù)器端只開(kāi)放了21端口, 客戶端機(jī)器沒(méi)開(kāi)放任何端口。

FTP客戶端連接采用的被動(dòng)模式,結(jié)果客戶端能登錄成功,但是無(wú)法LIST列表和讀取數(shù)據(jù)。

很明顯,是因?yàn)榉?wù)端沒(méi)開(kāi)放被動(dòng)模式下的隨機(jī)端口導(dǎo)致。

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






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8701

    瀏覽量

    84546
  • FTP
    FTP
    +關(guān)注

    關(guān)注

    0

    文章

    104

    瀏覽量

    40483

原文標(biāo)題:一文搞懂FTP的主動(dòng)模式和被動(dòng)模式

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NFC技術(shù)原理及應(yīng)用解析

    支持NFC的設(shè)備可以在主動(dòng)被動(dòng)模式下交換數(shù)據(jù)。在被動(dòng)模式下,啟動(dòng)NFC通信的設(shè)備,也稱為NFC發(fā)起設(shè)備(主設(shè)備),在整個(gè)通信過(guò)程中提供射頻場(chǎng) (RF-field),如圖2所示。
    發(fā)表于 11-10 14:36 ?3028次閱讀

    #硬聲創(chuàng)作季 125第6章 應(yīng)用層--FTP協(xié)議主動(dòng)模式被動(dòng)模式

    計(jì)算機(jī)網(wǎng)絡(luò)網(wǎng)絡(luò)系統(tǒng)
    Mr_haohao
    發(fā)布于 :2022年09月14日 10:29:44

    ftp數(shù)據(jù)socket錯(cuò)誤,打開(kāi)數(shù)據(jù)socket錯(cuò)誤的解決方法

    通過(guò)FTP連接網(wǎng)站時(shí)出現(xiàn)“數(shù)據(jù) Socket 錯(cuò)誤: 連接被拒 列表錯(cuò)誤”,如下圖:出現(xiàn)這個(gè)錯(cuò)誤是因?yàn)闆](méi)有去掉被動(dòng)模式。(為了使服務(wù)器更加安全,我們只開(kāi)放了21和80端口)您只需要去掉被動(dòng)模式和關(guān)閉
    發(fā)表于 06-22 10:16

    FTP無(wú)法連接的原因

    和密碼的的對(duì)話框,但是登陸不成功,那代表可以正常連接FTP,請(qǐng)?jiān)诠芾砥脚_(tái)上更改一個(gè)新的FTP密碼;11、將FTP被動(dòng)模式改為主動(dòng)
    發(fā)表于 09-04 14:37

    關(guān)于FX2下載FPGA程序,以及實(shí)現(xiàn)FPGA與PC通信的問(wèn)題

    FX2是不是類似于一個(gè)仿真器,內(nèi)部的固件程序在下載FPGA程序時(shí)模擬JTAG協(xié)議將程序下進(jìn)去嗎,這時(shí)是不是工作在主模式下;還有上位機(jī)通過(guò)FX2與FPGA通信時(shí)是不是工作在被動(dòng)模式下, 主動(dòng)模式
    發(fā)表于 05-09 14:14

    【瑞芯微RK1808計(jì)算棒試用體驗(yàn)】2、RK1808被動(dòng)模式下mobilenet_v1模型測(cè)試

    RK1808S_AI計(jì)算棒—RK1808被動(dòng)模式下mobilenet_v1模型測(cè)試RK1808S_AI計(jì)算棒—RK1808被動(dòng)模式下mobilenet_v1模型測(cè)試0、引言被動(dòng)模式開(kāi)發(fā)流程簡(jiǎn)介這里以
    發(fā)表于 12-04 19:55

    關(guān)于linux中FTP服務(wù)nat后,訪問(wèn)問(wèn)題

    ,pasv_address 設(shè)置NAT后的IP要么只能內(nèi)網(wǎng)訪問(wèn),pasv_address 設(shè)置本機(jī)內(nèi)網(wǎng)IP無(wú)法做到內(nèi)外網(wǎng)同時(shí)能訪問(wèn)內(nèi)網(wǎng)客戶端不要用被動(dòng)模式(PASV),改用主動(dòng)模式。但是,要先關(guān)掉客戶防火墻
    發(fā)表于 05-18 14:42

    HarmonyOS智慧設(shè)備開(kāi)發(fā)-NFC技術(shù)學(xué)習(xí)與分享

    NFC芯片:用于讀取修改NFC標(biāo)簽信息。NFC標(biāo)簽:用于存儲(chǔ)信息,可擦除。 三、工作模式1、主動(dòng)模式被動(dòng)模式下,僅有一個(gè)NFC設(shè)備產(chǎn)生射頻場(chǎng)(比如讀卡器與無(wú)源電子標(biāo)簽)。2、
    發(fā)表于 08-10 10:48

    如何對(duì)RK3399+RK1808人工智能計(jì)算棒的被動(dòng)模式進(jìn)行Rock-X測(cè)試呢

    如何對(duì)RK3399+RK1808人工智能計(jì)算棒的被動(dòng)模式進(jìn)行Rock-X測(cè)試呢?有哪些測(cè)試步驟?
    發(fā)表于 02-15 06:40

    請(qǐng)問(wèn)一下怎樣對(duì)RK1808計(jì)算棒的被動(dòng)模式進(jìn)行測(cè)試并且使用呢

    請(qǐng)問(wèn)一下怎樣對(duì)RK1808計(jì)算棒的被動(dòng)模式進(jìn)行測(cè)試并且使用呢?有哪些測(cè)試步驟?
    發(fā)表于 02-15 06:59

    bcm20793的NFC模塊電路設(shè)計(jì)

    本文采用博通BCM20793 NFC芯片并結(jié)合S3C6410主控制器,設(shè)計(jì)了具有主動(dòng)模式被動(dòng)模式的NFC閱讀器,主要針對(duì)硬件和驅(qū)動(dòng)進(jìn)行了設(shè)計(jì)。
    發(fā)表于 11-24 17:29 ?8168次閱讀

    嵌入式DMI操作屏NFC技術(shù)原理與硬件設(shè)計(jì)

    ( RFID)演變而來(lái),向下兼容RFID,最早由Sony和Philips各白開(kāi)發(fā)成功,主要用于手機(jī)等手持設(shè)備中提供M2M的通信。 NFC有3種T作模式被動(dòng)模式、主動(dòng)模式和雙向
    發(fā)表于 01-18 13:56 ?1次下載

    基于車載終端遠(yuǎn)程升級(jí)解決方案

    遠(yuǎn)程升級(jí)有兩種模式,主動(dòng)模式被動(dòng)模式。主動(dòng)模式是指車載終端自動(dòng)檢測(cè)是否有新版本的程序需要更新,
    發(fā)表于 02-27 09:52 ?2次下載

    恒訊科技分析:云服務(wù)器425無(wú)法打開(kāi)數(shù)據(jù)連接有哪些解決方案?

    可能有多種原因,以下是一些建議的解決方案: 1、被動(dòng)模式(PASV): 嘗試將FTP客戶端切換到被動(dòng)模式。在FTP客戶端的設(shè)置或命令行中,輸入 pasv 命令來(lái)啟用
    的頭像 發(fā)表于 01-03 17:38 ?1209次閱讀

    汽車ABS系統(tǒng)工作模式有哪些

    汽車ABS系統(tǒng),即防抱死制動(dòng)系統(tǒng),是一種能夠在緊急剎車時(shí)防止車輪鎖死的電子控制系統(tǒng)。它主要有兩種工作模式主動(dòng)模式被動(dòng)模式。 在緊急制動(dòng)情況下,ABS系統(tǒng)的主要工作
    的頭像 發(fā)表于 06-09 10:23 ?789次閱讀