當前位置:首頁 » 文件傳輸 » ftp服務例子
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp服務例子

發布時間: 2022-12-09 21:09:08

Ⅰ Linux:FTP伺服器軟體、FTP客戶端軟體和FTP軟體有什麼不同求分別舉個一個例子說明一下!

FTP伺服器軟體是用來提供FTP伺服器的,數據也是存在這裡面的。
FTP客戶端軟體是用來連FTP伺服器的,這樣你才能獲取或上傳數據
FTP軟體只是一個統稱,一邊來說指的是FTP客戶端軟體。因為FTP伺服器只有專用人員才會使用搭建,大多數還都是使用者。

Ⅱ 請教內網架設FTP伺服器

首先你必須具備的條件:
1:你必須具有網管許可權
2:主伺服器操作系統是WIN2K。
下載一個FTP服務端軟體,FTP serv-u(本機上如果裝了IIS也可以),完成安裝。
下面是在伺服器(也就是區域網代理伺服器)上要做的工作,以保證你的FTP可以對外服務。
一,建產DNS記錄
1、打開DNS控制台:選「開始菜單→程序→管理工具→DNS」。
2,建立域名「ftp.dasha.com」映射IP地址「192.168.0.50」(這個IP就是客戶端的真
正IP)的主機記錄。
①建立「com」區域:選「DNS→WY(你的伺服器名)→正向搜索區域→右鍵→新建區域」,然後根據提示選「標准主要區域」、在「名稱」處輸入「com「
②建立「dasha」域:選「com→右鍵→新建域」,在「鍵入新域名」處輸入「dasha」
③建立「ftp」主機。選「dasha→右鍵→新建主機」,「名稱」處為「ftp」,「IP地址」處輸入「192.168.0.50」,再按「添加主機」。
現在測試一下,「運行」輸入"ping ftp.dasha.com"
二、「ftp.abc.com」的設置
1、打開「默認FTP站點」屬性窗口:選「默認FTP站點→右鍵→屬性」即可。
2、設置「FTP站點」:在「IP地址」處選「192.168.0.50」,埠號保持默認值「21」不變。
3、設置「消息」:在「歡迎」框中輸入登錄成功後的歡迎信息,「退出」中為退出信息。
4、設置「主目錄」:在「客戶機」中按「瀏覽」按鈕選擇目標目錄「E:\myweb」。
5、設置「安全帳號」:默認的,匿名用戶(Anonymous)被允許登錄,如果有必要,此處可選拒絕其登錄以增加安全性;或增加其他用於管理此FTP伺服器的用戶名(默認的為「Administator」)。
6、設置「目錄安全性」:此處可以設置只被允許或只被拒絕登錄此FTP伺服器的的計算機的IP地址。
7、如需要,也可在「默認FTP站點」處單擊右鍵選「新建」來新建FTP的虛擬目錄。
三、「ftp.dasha.com」的測試
1、在瀏覽器中登錄:格式為「ftp://ftp.dasha.com」或「ftp://用戶@ftp.abc.com」。如果匿名用戶被允許登錄,則第一種格式就會使用匿名登錄的方式;如果匿名不被允許,則會彈出選項窗口,供輸入用戶名和密碼。第二種格式可以直接指定用某個用戶名進行登錄。
2、在DOS下登錄:格式為「ftp ftp.abc.com」。
3、用FTP客戶端軟體登錄
4、如果「主目錄」下有與用戶同名的「虛擬目錄」或「實際目錄」,則該用戶會直接登錄到其同名目錄中。
注意第二部的工作,你還可以填加另一個FTP站點,不過之前,你還得進行第一步的工作。
三,開始客戶端的FTP伺服器軟體設置。
下邊的工作便是serve-u的設置了,再轉一個:
Serv-U 3.0.0.17 使用詳解 (轉貼)

主要新功能:
* 以 WindowsNT/2000/XP... 的 Service 形式運行, 可以隨開機而啟動服務
* 把伺服器和管理工具分離, 而管理工具可以遠程配置 Serv-U 3 的伺服器
* 虛擬路徑映射 (Virtual path mappings), 可以很方便地把不同分區, 甚至
不同機器上的路徑都映射到你想它出現的位置, 對於登錄用戶來說, 他根本
看不出虛擬映射和實際有什麼分別
* 似乎對 DoS (Deny Of Service) 攻擊有點對策, 實際應用情況不清楚

主要特性:
* 看來內存比 2.x 佔用得多不了多少 (當管理工具沒打開時)
* 至少不會比 2.x 慢
* 注冊碼有點難度, 竟然出了幾天都沒注冊機
更有cracker說它用了 ECC (Elliptic Curves) , 很可能永遠都出不了注冊機?
現在有的是破解版, 可能有人感覺不太舒服吧?

綜上所述, 對於 2.x 的用戶來說, 如果沒用到主要的新功能, 不換也沒什麼不好,
但如果想換又不知如何配置, 請看下回分解~~~
原文再續書接上一回, 話說上次說到對於想升級又怕不會用的人, 你可以放心了,
你只要保留你原本 2.x, 升級安裝上去, Serv-U 3 就會自動按原設定配置伺服器,
根本不用你動手, 所以, 這篇基本上是廢話...

欲知重頭安裝該怎樣做, 或想知各種功能的用法, 請看下回分解!
Step #1. 安裝
點擊安裝程序, 直點 Next 就完成了. 沒什麼好說的.

Step #2. 第一次運行
安裝完成後, 伺服器的Service會啟動, 管理工具會自動運行, 你看到的, 是要你
配置好它的 Setup Wizard... 唔... 基本上 Next 下去就是了, 下面幾個可能你
會有興趣:
Domain name: 域的名字
Allow anonymous access: 要讓匿名登錄嗎? (選 No 可以跳過這部分)
Annoymous home directory: 匿名登錄後, 用戶會看到的目錄
Lock annoymous users into their home directory: 選Yes, 不要讓他們亂跑
Create named account: 要建立有非匿名用戶嗎?
輸入用戶名, 密碼.
(大約和上面過程一樣)
Account admin priviledge: 這個用戶有遠程管理 Serv-U 3 的許可權嗎?
呵呵. 通常選 No priviledge 吧.
嘿! 基本上搞好了!

Step #3. 認識 Serv-U 3 管理工具的的界面
左邊的樹狀結構是 Serv-U 3 的結構層次:
1. Serv-U Server 下面是管理工具在管理的 FTP,
其中<<Local Server>>就是你機上那個伺服器了.

2. 在每個伺服器中...
License: 給你填注冊碼
Settings: 伺服器總配置
Activity: 給你監測本伺服器的運作情況
Domains: 下面的各個 Domain, 是以你的機器擁有的不同IP開的伺服器,
按剛才"第一次運行"來做, 你現在會有一個 Domain 了.

Step #4: 整體配置
在<<Local Server>>的Settings:

General: 總體限制, 參數設置
Max. Speed- 總體限速,
不設的話, 極速可達約 1MBytes/S.
Max no. of users - 同時的連接數目
不要太多, 很傷硬碟的, 建議不超過20
Check Anonymous password - 匿名登陸密碼檢查,
不要選, 否則 IE 不能進入.
Block Anti Time-out schemes
Block "FTP_bounce"...
主要是把些無聊人趕掉, 都選吧, 細節看 Help
Block users who connect...
隨意, 用於"罰"一下用多線程下載的用戶.
其餘選項看 Help 吧.

Dir Cache: 目錄緩存
用戶較多時, 可以明顯加快用戶瀏覽的速度,
把它打開, 用默認的 Max.Size 25, Time-out 600 sec. 差不多了.
Auto-Refresh 選取後你會看到在緩存中有哪些目錄

Advanced:
Server:
Enable security - 安全設置生效
一定要選上! 否則你會死得很難看. KAKAKA
Sockets:
Inline out-of-band data
選取後聽說可以防止 DoS 攻擊, 但默認沒選, 你自己決定吧.

至於如何配置用戶, 就請看下回分解!
原文再續書接上一回, 話說上次說到我們有了個伺服器,
但沒設好域里的用戶, 也是沒用的, 所以...

Step #1: 域 (Domain) 配置
在 Domains 下選取你的域吧!
Name: 域的名字
Domain IP address: 為簡單起見, "Use any available IP address" 算了吧.
Domain type:
Store in .INI file 比較好,
它把你的伺服器的設置都放到 ServUDaemon.ini ,
重裝系統後把這文件放上去就行了.
FTP port number:
通常是 21

Settings:
General:
Max no. of users - 同時的連接數目
和上一個差不多, 不過是在域里限制
Virtual path mapping - 請看 VPM 篇
Links - 同上
Messages:
很好玩的, 可以把別人登錄看到的信息都改掉.
Logging:
就是 log 啊. 不懂? 看 help!

Step #2: 用戶帳號
在 Domains 下...
Users... 右擊出現新增/移除用戶選單.

點選任一用戶後, 各項用戶參數意義:

Account:
Disable account: 暫時令它失效
Automatically remove account on date: 到了某日期就刪掉該用戶! (爽!)
User name: 不用多說吧?
Password: 留空不填代表不用密碼
Home directory: 這用戶登錄時看到的第 1 個目錄
Lock user in home directory:
最如想在用這帳號登陸後, 看到的根目錄是所設的 Home Directory,
就選吧. (建議選取, 否則地址會比較難看)
Priviledge: 這用戶遠程管理 Serv-U 伺服器的許可權, 具體看 HELP

General:
Allow only N login(s) from same IP address
限制同一 IP 用這帳號的連接數, 選了它吧!
如果考慮到用 IE 的用戶, 最好設兩個連接,
否則對方可能不能下載, 如果狠心點, 設 1 個也沒關系!
Max upload Speed.
用這帳號, 每一個連接上傳文件的極速.
Max download Speed
用這帳號, 每一個連接下載的極速.
Idle time-out
發呆多久才 kick 他出去, 個人認為 5 分鍾都夠了.
Sesson time-out
無論他有沒有發呆, 上來一段時間後就把他 KICK 走, 即使他在下載
什麼東東也照踢不誤, 並且在 1 分鍾內不讓他再上來. 這樣在很忙下載
站點中可能有用, 可以讓多點人有機會訪問, 不過確是有點討厭. 呵呵
Max. no. of users
這帳號同時允許的總連接數目.
其餘的比較少用, 看 HELP 吧.
Dir Access:
這里設置這用戶對你硬碟中, 實際路徑的讀寫許可權, 關鍵哦!
無論是 HOME 目錄好, 映射目錄也罷. 要讓用戶用得到, 也要在這里加
具體意義在界面上也很明確吧. 不多說了, 但別忘了.
(記得把 HOME 目錄在這里加多一次, files-[read], directories-[list]
這樣人家看能看到, 下載到你的東東....)

Step #3: 群組帳號
在 Domains 下...
Groups... 右擊出現新增/移除用戶選單.

看上去很簡單是不是? 對了. 把一個 Group 設置了一點參數,
在任一用戶 - Account - Group(s) 中把他加進去, 他就擁有那個參數的許可權.
有什麼用? 你自己想想吧.
哈哈... 基本上我們都搞好了, 但是重頭戲 Virtual path mappings 還沒出場,
到底這東東有什麼用處, 又是什麼設置的呢? 請看下回分解!
原文再續書接上一回, 話說上次說到 Virtal path mappings 就打住不說,
究竟是什麼原因呢? 這是因為很多老鳥都對上面幾篇一屑不顧, 但卻往往
死在 VPM 手上, 但是死在 VPM 的石榴裙下也甘心了. 呵呵....
在 Domains 下...
Settings:
General:
Virtual path mappings:
Step #1: 虛擬路徑映射的概念:
1. Physical path: 目錄的實際路徑
可以是任何Windows分區上任何東東, 甚至網路鄰居里的也可以
2. Mapped to: 映射到... (這個目錄必須實際存在)
你想把它"變到"你硬碟里的那個目錄呢?
你可以用到兩個變數:
%HOME% : 即"Home directory"
%USER% : 用戶名
3. mapped path name:
這個虛擬目錄在顯示出來的名字
4. 記得要在各用戶的 Dir access 中設置它對實際路徑的許可權哦!!!!

Step #2: 舉例:
1. 你想把 f:\movie\ 映射到匿名登錄後看到的 \MyMovie 目錄:
Physical path: f:\movie\
Mapped to: %HOME%
mapped path name: MyMovie
在 anonymous 帳號對 f:\movie\ 設 file - read, dir - list 許可權
2. 你想把 g:\mp3\ 映射到 alex 登錄後看到的 \Audio\MySongs 目錄:
Physical path: g:\mp3\
Mapped to: %HOME%\Audio
mapped path name: MySongs
在 alex 帳號對 g:\mp3\ 設 file - read, dir - list 許可權

哈哈. 還有封人的方法沒說吧? 欲知後事如何, 請看下回分解!
關於多級目錄映射的補充。。 來自fiend-smth
有點混亂。。嘿嘿

原文再續書接上一回, 封人對於很多人來說都是很過癮的事,
所以就有這篇東東了...

Step #1. 按 IP 封
在 Serv-U 中, IP Access 很多地方都有出現, 這就是限制 IP 訪問的地方了.
Domain- Settings 里有; 各用戶- Settings 里有; 各群組- Settings 里也有.
IP access:
如果要限制 IP, 就在這里設置. 限制是由上到下執行檢查的.
這里給出一些例子: (!注意次序!)
1. 只對某幾個 IP 開放帳號:
----------------
A: 202.38.241.8
A: 202.38.249.2
A: 202.38.248.3
D: *
----------------
意思是, 對 202.38.241.8 , 202.38.249.2 , 202.38.248.3
開放, 其餘都不準進入
2. 只對一個網段開放:
----------------
A: 202.38.241.*
D: *
-----------------
意思是, 只對 202.38.241.* 開放, 其餘拒絕
3. 只拒絕部分IP
--------------
D: 123.166.*.*
D: 202.38.234.56
A: *
--------------
拒絕 123.166.*.* 的B類網段, 及 202.38.234.56 訪問,
其餘都歡迎
看了三個例子, 大家都志該知道 IP 限制如何設置吧,
要注意的一點是, 最後一個限制項目, 最好要設成
A: * (其餘都允許進入) 或
D: * (其餘都不準進入)
否則, 可能會得不到預期中的限制的效果.
Step #2. 看不爽封
如果有個人連了上來, 你看他不爽想封掉他.
在 <<Local Server>> - Activity 或
你的Domain - Activity 會看到他,
右擊, KILL USER .............
他在你FTP的命運就在你手中了.

Ⅲ 什麼是ftp,有什麼作用。

(轉載)FTP(File Transfer Protocol)是 Internet 上用來傳送文件的協議(文件傳輸協議)。它是為了我們能夠在 Internet 上互相傳送文件而制定的的文件傳送標准,規定了 Internet 上文件如何傳送。也就是說,通過 FTP 協議,我們就可以跟 Internet 上的 FTP 伺服器進行文件的上傳(Upload)或下載(Download)等動作。

和其他 Internet 應用一樣,FTP 也是依賴於客戶程序/伺服器關系的概念。在 Internet 上有一些網站,它們依照 FTP 協議提供服務,讓網友們進行文件的存取,這些網站就是 FTP 伺服器。網上的用戶要連上 FTP 伺服器,就要用到 FPT 的客戶端軟體,通常 Windows 都有「ftp」命令,這實際就是一個命令行的 FTP 客戶程序,另外常用的 FTP 客戶程序還有 CuteFTP、Ws_FTP、FTP Explorer等。

要連上 FTP 伺服器(即「登陸」),必須要有該 FTP 伺服器的帳號。如果是該伺服器主機的注冊客戶,你將會有一個 FTP 登陸帳號和密碼,就憑這個帳號密碼連上該伺服器。但 Internet 上有很大一部分 FTP 伺服器被稱為「匿名」(Anonymous)FTP 伺服器。這類伺服器的目的是向公眾提供文件拷貝服務,因此,不要求用戶事先在該伺服器進行登記注冊。

Anonymous(匿名文件傳輸)能夠使用戶與遠程主機建立連接並以匿名身份從遠程主機上拷貝文件,而不必是該遠程主機的注冊用戶。用戶使用特殊的用戶名「anonymous」和「guest」就可有限制地訪問遠程主機上公開的文件。現在許多系統要求用戶將Emai1地址作為口令,以便更好地對訪問進行跟綜。出於安全的目的,大部分匿名FTP主機一般只允許遠程用戶下載(download)文件,而不允許上載(upload)文件。也就是說,用戶只能從匿名FTP主機拷貝需要的文件而不能把文件拷貝到匿名FTP主機。另外,匿名FTP主機還採用了其他一些保護措施以保護自己的文件不至於被用戶修改和刪除,並防止計算機病毒的侵入。在具有圖形用戶界面的 WorldWild Web環境於1995年開始普及以前,匿名FTP一直是Internet上獲取信息資源的最主要方式,在Internet成千上萬的匿名PTP主機中存儲著無以計數的文件,這些文件包含了各種各樣的信息,數據和軟體。 人們只要知道特定信息資源的主機地址, 就可以用匿名FTP登錄獲取所需的信息資料。雖然目前使用WWW環境已取代匿名FTP成為最主要的信息查詢方式,但是匿名FTP仍是 Internet上傳輸分發軟體的一種基本方法。

全有網推薦兩款比較實用方便的FTP工具:Cutftp【CuteFTP Pro V7.1 Build 06.07.2005.1 官方簡體中文包下載地址:http://www4.skycn.com/soft/15789.html】FlashFtp【FlashFXP V3.2.0.1080 漢化版(烈火版)下載地址:http://www4.skycn.com/soft/22415.html】

Ⅳ linux怎麼搭建ftp伺服器

在創建FTP伺服器之有先命令: ps -ef |grep vsftpd
查一下系統有沒有安裝vsftpd這個伺服器,如果沒有安裝。
然後再執行:yum install vsftpd -y
進行在線安裝vsftpd這個服務。
安裝成功以後需要把匿名登陸的這個功能關閉了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然後在里成找到:‍
anonymous_enable=NO
然後再查看一下vsftpd這個服務有沒有啟動。
使用命令: chkconfig --list
如果你一樣沒有啟動。
沒有啟動使用啟動:chkconfig --level 35 vsftpd on
再接下來就是創建用戶名。
創建用戶名:useradd jingyan
再然後就是創建密碼。
命令:passwd jingyan
再輸入兩次密碼就可以了。
最後重啟一下服務:service vsftpd start
如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
成功鏈接FTP伺服器上。

Ⅳ 怎樣使用FTP空間

首先到邪惡八進制信息安全團隊站點上下載LeapFTP軟體,目錄:
http://www.eviloctal.com/soft/LeapFTP.rar
(這里假設您已經懂得如何下載軟體了,如果下載軟體都不懂,請先看其他掃盲教程。)
這一個款綠色的FTP軟體,使用它您可以在任何FTP上方面的下載和上傳東西,當然前提您得有該FTP的用戶名和密碼。
現在將已經下載的壓縮包解壓縮,您將可以看見如圖1所示的一些文件。
雙擊執行LeapFTP.exe文件,將出現如圖2所示畫面。
現在我把圖2上一些主要功能都標號了,簡單一一介紹一下,稍後我們有實例。
①是本地的目錄窗口,默認顯示當前Leapftp所在的目錄情況,上傳時可以從左邊的目錄中找到要上傳的東西然後將其選中,拖至右邊窗口就可以。
②伺服器的路徑信息窗口,如果連接上伺服器以後,就可以看見伺服器上有什麼目錄什麼東西,下載東西的時候,可以選中要下的東西,右鍵菜單中選擇下載。
③是傳輸狀態窗口,這個窗口住要顯示你當前上傳或者下載的文件隊列,這款軟體不能同時實現上傳和下載,需要分開進行。
④連接狀態窗口,對初級使用這意義不大,這個窗口住要是顯示在連接過程中的驗證信息的,初級用戶不會使用到他。
⑤伺服器地址欄,用於填寫遠程FTP伺服器的地址,可以是域名也可以是IP,取決於對方告訴你什麼地址。
⑥伺服器目錄欄,這個是用於快速跳轉目錄用的,初級使用者我們就不做介紹了,很簡單的自己摸索一下就會了。
⑦用戶名和密碼欄,就是你在遠程FTP上的帳戶名和密碼,至於埠,默認是21,如果有所改變,需要詢問該FTP伺服器的管理人員。
下面我們以邪惡八進制信息安全團隊FTP伺服器為例子,演示一下下載過程。
啟動LeapFTP,在⑤和⑦的位置填寫好我們的信息。如圖3所示,219.146.159.57是邪惡八進制信息安全團隊主站伺服器的ip地址,用戶名密碼也填寫好了以後,埠是默認的21,點左邊的閃電標志,就可以連接上伺服器了。
如果用戶名密碼匹配,IP也沒寫錯,網路連接和伺服器運行都正常,那麼就可以順利連接到伺服器,看到伺服器上的目錄。
進入你需要下載的軟體所在的目錄,選中你要下載的文件,點右鍵選下載就可以了。

Ⅵ 想在學校區域網里利用自己的PC機,搭建一個ftp伺服器,希望有高手可以指點一下

如果是 linux ,可以用vsftp
1、這個例子是RedHat的預設範例,直接啟動vsftp。
[root@relay vsftpd]# /sbin/service vsftpd start
Starting vsftpd for vsftpd: OK ]
2、更換port 提供服務:將預設的port 21 更換為2121
為了安全,或是以port 來區隔不同的ftp 服務,我們可能會將ftp port 改為21 之外的port,那麼,可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
listen_port=2121
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
3、 特定使用者peter、john 不得變更目錄
使用者的預設目錄為/home/username,若是我們不希望使用者在ftp 時能夠
切換到上一層目錄/home,則可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改為
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
Step2. 新增一個檔案: /etc/vsftpd/chroot_list
內容增加兩行:
peter
john
Step3. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
若是peter 欲切換到根目錄以外的目錄,則會出現以下警告:
ftp> cd /home
550 Failed to change directory.
4、取消anonymous 登入
若是讀者的主機不希望使用者匿名登入,則可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf

anonymous_enable=YES
改為
anonymous_enable=NO
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
5、安排歡迎話語
若是我們希望使用者在登入時,能夠看到歡迎話語,可能包括對該主機的說明,或是目錄的介紹,可參考以下步驟。
首先確定在/etc/vsftpd/vsftpd.conf 當中是否有底下這一行
dirmessage_enable=YES
RedHat9 的默認值是有上面這行的。
接著,在各目錄之中,新增名為.message 的檔案,再這邊假設有一個使用者test1,且此使用者的根目錄下有個目錄名為abc,那首先我們在/home/test1
之下新增.message,內容如下:
Hello~ Welcome to the home directory
This is for test only...
接著,在/home/test1/abc 的目錄下新增.message,內容如下:
Welcome to abc's directory
This is subdir...
那麼,當使用者test1 登入時,會看到以下訊息:
230- Hello~ Welcome to the home directory
230-
230- This is for test only...
230-
若是切換到abc 的目錄,則會出現以下訊息:
250- Welcome to abc's directory
250-
250- This is subdir ...
6、對於每一個聯機,以獨立的process 來運作
一般啟動vsftp 時,我們只會看到一個名為vsftpd 的process 在運作,但若是讀者希望每一個聯機,都能以獨立的process 來呈現,則可執行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
setproctitle_enable=YES
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
使用ps -ef 的指令,可以看告不同使用者聯機的情形,如下圖所示:
[root@home vsftpd]# ps -ef|grep ftp
root 2090 1 0 16:41 pts/0 00:00:00 vsftpd: LISTENER
nobody 2120 2090 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244:
connected
test1 2122 2120 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244/test1:
IDLE
nobody 2124 2090 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244:
connected
test2 2126 2124 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244/test2:
IDLE
root 2129 1343 0 17:20 pts/0 00:00:00 grep ftp
[root@home vsftpd]#
7、限制傳輸檔案的速度:
本機的使用者最高速度為200KBytes/s,匿名登入者所能使用的最高速度為50KBytes/s
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下兩行
anon_max_rate=50000
local_max_rate=200000
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊速度的單位為Bytes/s,其中anon_max_rate 所限制的是匿名登入的
使用者,而local_max_rate 所限制的是本機的使用者。VSFTPD 對於速度的限
制,范圍大概在80%到120%之間,也就是我們限制最高速度為100KBytes/s,
但實際的速度可能在80KBytes/s 到120KBytes/s 之間,當然,若是頻寬不足
時,數值會低於此限制。
8、針對不同的使用者限制不同的速度:
假設test1 所能使用的最高速度為250KBytes/s,test2 所能使用的最高速度為500KBytes/s。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
user_config_dir=/etc/vsftpd/userconf
Step2. 新增一個目錄:/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf
Step3. 在/etc/vsftpd/userconf 之下新增一個名為test1 的檔案
內容增加一行:
local_max_rate=250000
Step4. 在/etc/vsftpd/userconf 之下新增一個名為test2 的檔案
內容增加一行:
local_max_rate=500000
Step5. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
9、建置一個防火牆下的ftp server,使用PORT FTP mode:
預設的ftp port:21 以及ftp data port:20
啟動VSFTPD 之後執行以下兩行指令,只允許port 21 以及port 20 開放,其它關閉。
iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
10、建置一個防火牆下的ftp server,使用PORT FTP mode:
ftp port:2121 以及ftp data port:2020
Step1. 執行以下兩行指令,只允許port 2121 以及port 2020 開放,其它關閉。
iptables -A INPUT -p tcp -m multiport --dport 2121,2020 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
Step2. 修改/etc/vsftpd/vsftpd.conf
新增底下兩行
listen_port=2121
ftp_data_port=2020
Step3. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊要注意,8、9 兩個例子中,ftp client(如cuteftp)的聯機方式不能夠選擇passive mode,否則無法建立數據的聯機。也就是讀者可以連上ftp
server,但是執行ls、get 等等的指令時,便無法運作。
11、建置一個防火牆下的ftp server,使用PASS FTP mode:
ftp port:2121 以及ftp data port 從9981 到9986。
Step1. 執行以下兩行指令,只允許port 2121 以及port 9981-9990 開放,其它關閉。
iptables -A INPUT -p tcp -m multiport --dport
2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
Step2. 修改/etc/vsftpd/vsftpd.conf
新增底下四行
listen_port=2121
pasv_enable=YES
pasv_min_port=9981
pasv_max_port=9986
Step3. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊要注意,在10 這個例子中,ftp client(如cuteftp)的聯機方式必須選擇passive mode,否則無法建立數據的聯機。也就是讀者可以連上ftp server,但是執行ls,get 等等的指令時,便無法運作。
12、將vsftpd 與TCP_wrapper 結合
若是讀者希望直接在/etc/hosts.allow 之中定義允許或是拒絕的來源地址,可執行以下步驟。這是簡易的防火牆設定。
Step1. 確定/etc/vsftpd/vsftpd.conf 之中tcp_wrappers 的設定為YES,如下圖所
示:
tcp_wrappers=YES
這是RedHat9 的默認值,基本上不需修改。
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
Step3. 設定/etc/hosts.allow,譬如提供111.22.33.4 以及10.1.1.1 到10.1.1.254 連
線,則可做下圖之設定:
vsftpd : 111.22.33.4 10.1.1. : allow
ALL : ALL : DENY
13、將vsftpd 並入XINETD
若是讀者希望將vsftpd 並入XINETD 之中,也就是7.x 版的預設設定,那
么讀者可以執行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf

listen=YES
改為
listen=NO
Step2. 新增一個檔案: /etc/xinetd.d/vsftpd
內容如下:
service vsftpd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
port = 21
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
Step3. 重新啟動xinetd
[root@home vsftpd]# /sbin/service xinetd restart
Stopping xinetd: OK ]
Starting xinetd: OK ]
說明:
在例子中,有些省略的設定可以在這邊找到,譬如聯機的總數、同一個位址的聯機數、顯示檔案擁有者的名稱等等,希望讀者細讀後,可以做出最適合自己的設定。
格式
vsftpd.conf 的內容非常單純,每一行即為一項設定。若是空白行或是開頭為#的一行,將會被忽略。內容的格式只有一種,如下所示
option=value
要注意的是,等號兩邊不能加空白,不然是不正確的設定。
===ascii 設定=====================
ascii_download_enable
管控是否可用ASCII 模式下載。默認值為NO。
ascii_upload_enable
管控是否可用ASCII 模式上傳。默認值為NO。
===個別使用者設定===================
chroot_list_enable
如果啟動這項功能,則所有的本機使用者登入均可進到根目錄之外的數據夾,除了列
在/etc/vsftpd.chroot_list 之中的使用者之外。默認值為NO。
userlist_enable
用法:YES/NO
若是啟動此功能,則會讀取/etc/vsftpd.user_list 當中的使用者名稱。此項功能可以在詢問密碼前就出現失敗訊息,而不需要檢驗密碼的程序。默認值為關閉。
userlist_deny
用法:YES/NO
這個選項只有在userlist_enable 啟動時才會被檢驗。如果將這個選項設為YES,則在/etc/vsftpd.user_list 中的使用者將無法登入 若設為NO , 則只有在
/etc/vsftpd.user_list 中的使用者才能登入。而且此項功能可以在詢問密碼前就出現錯誤訊息,而不需要檢驗密碼的程序。
user_config_dir
定義個別使用者設定文件所在的目錄,例如定義user_config_dir=/etc/vsftpd/userconf,且主機上有使用者 test1,test2,那我們可以在user_config_dir 的目錄新增文件名為test1 以及test2。若是test1 登入,則會讀取user_config_dir 下的test1 這個檔案內的設定。默認值為無。
===歡迎語設定=====================
dirmessage_enable
如果啟動這個選項,使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,若是有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。默認值為開啟。
banner_file
當使用者登入時,會顯示此設定所在的檔案內容,通常為歡迎話語或是說明。默認值為無。
ftpd_banner
這邊可定義歡迎話語的字元串,相較於banner_file 是檔案的形式,而ftpd_banner 是字串的格式。預設為無。
===特殊安全設定====================
chroot_local_user
如果設定為YES,那麼所有的本機的使用者都可以切換到根目錄以外的數據夾。預設值為NO。
hide_ids
如果啟動這項功能,所有檔案的擁有者與群組都為ftp,也就是使用者登入使用ls -al之類的指令,所看到的檔案擁有者跟群組均為ftp。默認值為關閉。
ls_recurse_enable
若是啟動此功能,則允許登入者使用ls -R 這個指令。默認值為NO。
write_enable
用法:YES/NO
這個選項可以控制FTP 的指令是否允許更改file system,譬如STOR、DELE、
RNFR、RNTO、MKD、RMD、APPE 以及SITE。預設是關閉。
setproctitle_enable
用法:YES/NO
啟動這項功能,vsftpd 會將所有聯機的狀況已不同的process 呈現出來,換句話說,使用ps -ef 這類的指令就可以看到聯機的狀態。默認值為關閉。
tcp_wrappers
用法:YES/NO
如果啟動,則會將vsftpd 與tcp wrapper 結合,也就是可以在/etc/hosts.allow 與/etc/hosts.deny 中定義可聯機或是拒絕的來源地址。
pam_service_name
這邊定義PAM 所使用的名稱,預設為vsftpd。
secure_chroot_dir
這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的許可權,當vsftpd 不需要file system 的許可權時,就會將使用者限制在此數據夾中。默認值為/usr/share/empty

===紀錄文件設定=====================
xferlog_enable
用法:YES/NO
如果啟動,上傳與下載的信息將被完整紀錄在底下xferlog_file 所定義的檔案中。預設為開啟。
xferlog_file
這個選項可設定紀錄文件所在的位置,默認值為/var/log/vsftpd.log。
xferlog_std_format
如果啟動,則紀錄文件將會寫為xferlog 的標准格式,如同wu-ftpd 一般。默認值為關閉。

===逾時設定======================
accept_timeout
接受建立聯機的逾時設定,單位為秒。默認值為60。
connect_timeout
響應PORT 方式的數據聯機的逾時設定,單位為秒。默認值為60。
data_connection_timeout
建立數據聯機的逾時設定。默認值為300 秒。
idle_session_timeout
發呆的逾時設定,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線,單位為秒。默認值為300。
===速率限制======================
anon_max_rate
匿名登入所能使用的最大傳輸速度,單位為每秒多少bytes,0 表示不限速度。默認值為0。
local_max_rate
本機使用者所能使用的最大傳輸速度,單位為每秒多少bytes,0 表示不限速度。預設值為0。
===新增檔案許可權設定==================
anon_umask
匿名登入者新增檔案時的umask 數值。默認值為077。
file_open_mode
上傳檔案的許可權,與chmod 所使用的數值相同。默認值為0666。
local_umask
本機登入者新增檔案時的umask 數值。默認值為077。
===port 設定======================
connect_from_port_20
用法:YES/NO
若設為YES,則強迫ftp-data 的數據傳送使用port 20。默認值為YES。
ftp_data_port
設定ftp 數據聯機所使用的port。默認值為20。
listen_port
FTP server 所使用的port。默認值為21。
pasv_max_port
建立資料聯機所可以使用port 范圍的上界,0 表示任意。默認值為0。
pasv_min_port
建立資料聯機所可以使用port 范圍的下界,0 表示任意。默認值為0。
===其它========================
anon_root
使用匿名登入時,所登入的目錄。默認值為無。
local_enable
用法:YES/NO
啟動此功能則允許本機使用者登入。默認值為YES。
local_root
本機使用者登入時,將被更換到定義的目錄下。默認值為無。
text_userdb_names
用法:YES/NO
當使用者登入後使用ls -al 之類的指令查詢該檔案的管理權時,預設會出現擁有者的UID,而不是該檔案擁有者的名稱。若是希望出現擁有者的名稱,則將此功能開啟。默認值為NO。
pasv_enable
若是設為NO,則不允許使用PASV 的模式建立數據的聯機。默認值為開啟。
===更換檔案所有權===================
chown_uploads
用法:YES/NO
若是啟動,所有匿名上傳數據的擁有者將被更換為chown_username 當中所設定的使用者。這樣的選項對於安全及管理,是很有用的。默認值為NO。
chown_username
這里可以定義當匿名登入者上傳檔案時,該檔案的擁有者將被置換的使用者名稱。預設值為root。
===guest 設定=====================
guest_enable
用法:YES/NO
若是啟動這項功能,所有的非匿名登入者都視為guest。默認值為關閉。
guest_username
這里將定義guest 的使用者名稱。默認值為ftp。
===anonymous 設定==================
anonymous_enable
用法:YES/NO
管控使否允許匿名登入,YES 為允許匿名登入,NO 為不允許。默認值為YES。
no_anon_password
若是啟動這項功能,則使用匿名登入時,不會詢問密碼。默認值為NO。
anon_mkdir_write_enable
用法:YES/NO
如果設為YES,匿名登入者會被允許新增目錄,當然,匿名使用者必須要有對上層目錄的寫入權。默認值為NO。
anon_other_write_enable
用法:YES/NO
如果設為YES,匿名登入者會被允許更多於上傳與建立目錄之外的許可權,譬如刪除或是更名。默認值為NO。
anon_upload_enable
用法:YES/NO
如果設為YES,匿名登入者會被允許上傳目錄的許可權,當然,匿名使用者必須要有對上層目錄的寫入權。默認值為NO。
anon_world_readable_only
用法:YES/NO
如果設為YES,匿名登入者會被允許下載可閱讀的檔案。默認值為YES。
ftp_username
定義匿名登入的使用者名稱。默認值為ftp。
deny_email_enable
若是啟動這項功能,則必須提供一個檔案/etc/vsftpd.banner_emails,內容為email
address。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許聯機。默認值為NO。
===Standalone 選項==================
listen
用法:YES/NO
若是啟動,則vsftpd 將會以獨立運作的方式執行,若是vsftpd 獨立執行,如RedHat9的默認值,則必須啟動 若是vsftpd 包含在xinetd 之中,則必須關閉此功能,如RedHat8。在RedHat9 的默認值為YES。
listen_address
若是vsftpd 使用standalone 的模式,可使用這個參數定義使用哪個IP address 提供這項服務,若是主機上只有定義一個IP address,則此選項不需使用,若是有多個IP address,可定義在哪個IP address 上提供ftp 服務。若是不設定,則所有的IP address均會提供此服務。默認值為無。
max_clients
若是vsftpd 使用standalone 的模式,可使用這個參數定義最大的總聯機數。超過這個數目將會拒絕聯機,0 表示不限。默認值為0。
max_per_ip
若是vsftpd 使用standalone 的模式,可使用這個參數定義每個ip address 所可以聯機的數目。超過這個數目將會拒絕聯機,0 表示不限。默認值為0。
=============================

3.2.4 FTP 數字代碼的意義
110 重新啟動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啟,准備傳送。
150 文件狀態正常,開啟數據連接埠。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制連接埠關閉,可以注銷。
225 數據連結開啟,但無傳輸動作。
226 關閉數據連接埠,請求的文件操作成功。
227 進入passive mode。
230 使用者登入。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要賬號信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啟數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁碟空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。
=======================

如果是windows ,可以用iis 或者serv-u(此方法適合對用戶許可權控制要求不高的`)

iis設置ftp方法
第一步:安裝IIS組件。
一般系統安裝時都沒有安裝此組件的,所以請到控制面板,在「添加/刪除程序」里打開「添加/刪除Windows組件」一項,在彈出的窗口裡將「intenet信息服務(IIS)」選中;再點右下角「詳細信息」,勾選「文件傳輸協議(FTP)服務」,最後確定即可。

第二步:設定需要共享的目錄路徑。
此目錄就是別人訪問你的FTP伺服器時看到的文件列表。在控制面板的管理工具里,打開「internet信息服務」。在窗口左面找到「FTP站點」並打開下拉列表,之後在「默認FTP站點」上點右鍵選屬性,切換到如下圖所示的「主目錄」選項卡。在「本地路徑」框中的地址為默認FTP共享目錄,請點擊瀏覽指定到你的實際共享目錄;另外在這里還可以設置FTP伺服器的文件訪問許可權,為安全考慮,一般我們只開放讀取許可權,以防匿名用戶隨意修改目錄文件,合法用戶有需要時才針對性的打開「寫入」許可權。

主目錄路徑指定

第三步:完善配置。

在「默認FTP站點」窗口裡切換到「安全帳戶」,去掉「允許匿名連接」前的勾;在消息選項卡中可設定當用戶訪問、退出你的FTP伺服器時出現的提示信息,隨你喜歡寫吧!還有個「最大連接數」的設定,它是指同時連接本地FTP的最多主機台數,如果你的電腦配置不是很好的話,建議不要超過5。

經過以上三步正確的配置後,你的FTP伺服器應該已經在工作了。為保險起見,我們可以在本機先測試一下訪問是否正常,方法很簡單:在瀏覽器的地址欄里輸入(ftp://你在花生殼中申請的免費域名),如果能看到你在IIS「主目錄」中設定的路徑下的目錄和文件,那就成功了。

補充:在安全用戶設置中,IIS與其他專業的FTP伺服器軟體不同,它是基於Windows用戶帳號進行管理,而本身並不支持隨意設定允許訪問帳戶的;要添加或刪除某個允許訪問的帳戶,必須先在控制面板的「管理工具」中的「計算機管理」里去設置,然後再通過IIS「安全賬戶」選項卡中的「FTP站點操作員」選項添加或刪除。

Ⅶ 什麼是ftp,ftp用戶名,ftp密碼

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。
用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。

Ⅷ FTP 使用的是什麼協議

FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分。

1、FTP伺服器。

2、FTP客戶端。

其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。

(8)ftp服務例子擴展閱讀

FTP屏蔽了各計算機系統的細節,因而適合在異構網路中任意計算機之間傳送文件。FTP只提供文件傳送的一些基本服務,它使用TCP可靠地運輸服務,FTP主要功能是減小或消除在不同系統下處理文件的不兼容性。

FTP使用客戶端-伺服器模型,一個FTP伺服器進程可以為多個客戶進程提供服務。FTP伺服器有兩大部分組成:一個主進程,負責接受新的請求;還有若干從屬進程,負責處理單個請求。

Ⅸ 簡述FTP服務的工作原理,並設計一個使用FTP的實例

什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

簡單上傳下載實例(/*....*/為注釋):

先假設有一FTP伺服器,FTP伺服器:qint.ithot.net,用戶名:username 密碼:user1234。在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件復制到d:\qint里。通過FTP命令將文件從本地上傳,從伺服器下載的步驟如下:

1.「開始」-「運行」-輸入「FTP」

2.open qint.ithot.net
/*這一步可以與第一步合並,在「運行」里直接輸入"ftp qint.ithot.net"。如果你的FTP伺服器不是用的21默認埠,假如埠是2121,那麼此步的命令應在後面空格加2121,即「open qint.ithot.net 2121」*/

3.username
/*提示你輸入用戶名*/

4.user1234
/*提示你輸入密碼,密碼不回顯,打完密碼後回車即可。如果你的密碼輸入錯誤,將不會提示你重新輸入,這時你要鍵入「user」命令,將會出現第三步,你可以重新輸入用戶名和密碼。*/

5.dir
/*你成功登陸後就可以用dir查看命令查看FTP伺服器中的文件及目錄,用ls命令只可以查看文件。*/

6.mkdir qint
/*在FTP伺服器上根目錄下建立qint目錄。*/

7.cd qint
/*進入目錄qint,用「cd 你的目錄名」可以進入當前目錄的下一級目錄,這跟DOS一樣。*/

8.bin
/*採用二進制傳輸。如果你要上傳下載,這一步很重要,不先執行這個命令,上傳下載會很慢。*/

9.lcd d:\qint
/*定位本地默認文件夾,在前面我事先在D:盤創建的。*/

10.!dir
/*查看本地文件夾中的文件及目錄*/

11.put i001.jpg
/*將當前目錄(d:\qint)中的文件i001.jpg上傳到FTP伺服器默認目錄。可以用"mput *.*"將所有文件上傳到FTP伺服器上。*/

12.get d123.jpg
/*將FTP伺服器默認目錄中的文件d123.jpg下載到當前目錄下(d:\qint)。可以用"mget *.*"將所有文件下載到d:\qint*/

13.delete *.*
/*刪除目錄qint中的所有文件。*/

14.cd ..
/*返回至上一級目錄,即根目錄。返回上一級目錄用「cd ..」要注意,中間有空格。返回根目錄用「cd \」。*/

15.mrdir qint
/*刪除目錄qint。刪除目錄,在此目錄下不能有文件及目錄,不然將無法刪除。*/

16.bye
/*退出FTP伺服器*/

上傳下載時特別要注意伺服器及本地電腦的當前目錄,文件是從哪裡到哪裡的問題。查看FTP伺服器的當前目錄命令為pwd,可以用cd命令定位伺服器的目錄。可以用lcd命令定位本地電腦的目錄。以上實例應用到了採用FTP命令行方式上傳下載的最常用命令,你還可以用命令「?」查看更多的命令。

Ⅹ 什麼是WEB服務和FTP服務

FTP(File Transfer Protocol)是文件傳輸協議的簡稱。
FTP的作用
正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。
FTP工作原理
拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議(文件傳輸協議)
一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。
與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。
在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。
使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。
匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。
通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。
值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。
當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。
作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。
匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。
匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。
Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。

Web 服務是一種可以用來解決跨網路應用集成問題的開發模式,這種模式為實現「軟體作為服務」提供了技術保障。而「軟體作為服務」實質上是一種提供軟體服務的機制,這種機制可以在網路上暴露可編程介面,並通過這些介面來共享站點開放出來的功能。

從技術角度來講,Web 服務實現了最廣泛的應用軟體集成,彌補了傳統軟體開發模型的限制。Web 服務產生之前,在網路上提供對象服務通常要採用DCOM(Distributed COM)或CORBA。這兩種技術各有特點,也各自有相當廣泛的應用。前者運行在Windows操作系統上,後者主要運行在UNIX系統上,都有著相當悠久的歷史。

從概念層次上講,二者具有相近的結構,都可以讓客戶軟體實例化分布在網路上遠端的對象,並最終訪問對象服務。但是,在具體實現機制上,這兩種方案有許多不同。比如在通信協議方面,DCOM採用的是RPC協議而CORBA採用的是IIOP協議。另外,對於客戶端程序而言,訪問提供服務對象的方法也是大相徑庭,前者通過客戶端代理(proxy),經過RPC通道後訪問服務端的存根(stub)後才可以最終訪問到對象;而後者必須先通過客戶端的存根,然後經過IIOP訪問服務端的骨架(skeleton)才能最終訪問到對象。兩種模式分別如圖9-1和9-2所示。

圖9-1 DCOM方案

正是因為兩種分布式對象方案各自為政,所以它們只能被用來開發緊耦合類型的Web分布式應用系統。所謂緊耦合,就是指客戶端必須按照特定的規范去訪問服務端提供的服務,而這種規范只在一個有限的范圍內通用。

圖9-2 CORBA方案

為了可以在整個網際網路中實現對服務的自由訪問,有必要提供一種嶄新的模式或信息交換手段來達到這個目的。於是,微軟提出了Web 服務。

Web 服務的主要特點之一是,客戶端訪問Web 服務只需要通過網際網路標准協議,如HTTP或XML,以及SOAP,不需要專門的協議,如RPC或IIOP。因為HTTP協議和XML都是與平台無關的標准協議,因此,可以被任何主流操作系統正確理解和解釋。

另外,更為關鍵的特性是,Web 服務可以被XML語言進行詳盡的描述。這就是說,提供Web服務的站點可以提供一個(或多個)該站點可以對外提供服務的描述文件,這個文件的內容可以被訪問者理解。更進一步說,就是客戶端可以從網路上直接得到代碼!

也許舉個例子能更清楚地說明問題。假設開發人員需要搭建一個商務網站,這個網站需要一個驗證客戶合法身份的功能。為了實現這個功能,下面分別描述了可以採用的辦法。

由開發人員自己編寫安全驗證所需的全部代碼。這樣做顯然不現實,一個安全驗證程序涉及到諸多專業知識,並需要相當長的時間才能夠完成。

購買這段程序(通常是一個ActiveX組件)。在收到組件之後,首先將組件注冊在自己的機器上,然後根據組件類型庫產生介面文件。在實際編程中就可以使用這個介面文件來訪問組件服務。很明顯,這種方式在目前使用得最為廣泛。

有了Web 服務,情況就不同了,只需要在自己的程序中通過訪問某個服務的URL地址,得到一份XML描述,並使用這個描述文件產生一個介面文件。然後,在實際編程中,只需要通過這個介面文件來訪問服務就可以了。一定要注意,這個服務可不是運行在我們機器上的,是運行在網際網路上URL地址所指向的地方。

如果這個網站需要更多的功能,而這些功能在一些網站上已經被開發出來,並以各種方式(免費或收費)公開出來供所有需要它們的開發人員來使用,那麼,盡量使用它們好了。當然,如果開發人員所在的公司,也想成為Web 服務提供者的話,同樣可以輕松地將他們編寫的Web 服務在網路上公布出來,供大家使用。

與緊耦合服務概念相對,由於Web 服務具備通信協議標准性和服務自描述性,所以,使用Web 服務可以開發出松耦合的分布式應用程序來。這也是Web 服務要實現的最根本的設計目標。Web 服務的體系如圖9-3所示。