ftp怎麼發送數據
⑴ ftp文件傳輸原理
在遇到了一個wireshark數據包分析題之後,看到了ftp的相關信息,但是沒找到相關的flag信息,請教了大佬的解釋,才知道ftp文件傳輸並不是在21埠,ftp文件傳輸有主動和被動兩種方式,
被動(PASV)模式:
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條控制連接。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
伺服器控制埠(21),伺服器端等待的數據傳輸埠(動態申請)
ftp伺服器動態申請一個埠(一般大於1024)然後告訴客戶端,我在這個埠上等待你的連接,客戶端收到以後便向伺服器的這個埠發起連接,數據連接建立以後,數據傳輸就可以開始了
埠計算方法:172,16,101,104,7,254,256*7+254=2046
一次完整的被動連接及數據傳輸過程:
狀態: 正在連接 172.16.101.104:21...
狀態: 連接建立,等待歡迎消息...
響應: 220 Serv-U FTP Server v6.4 for WinSock ready...
命令: USER test
響應: 331 User name okay, need password.
命令: PASS ****
響應: 230 User logged in, proceed.
狀態: 已連接
狀態: 讀取目錄列表...
命令: PWD
響應: 257 "/" is current directory.
狀態: 列出目錄成功
狀態: 正在連接 172.16.101.104:21...
狀態: 連接建立,等待歡迎消息...
響應: 220 Serv-U FTP Server v6.4 for WinSock ready...
命令: USER test
響應: 331 User name okay, need password.
命令: PASS ****
響應: 230 User logged in, proceed.
狀態: 已連接
狀態: 開始上傳 E:\Downloads\liugong\liugong\404.htm
命令: CWD /
響應: 250 Directory changed to /
命令: TYPE A
響應: 200 Type set to A.
命令: PASV
響應: 227 Entering Passive Mode (172,16,101,104,8,86)
命令: STOR 404.htm
響應: 150 Opening ASCII mode data connection for 404.htm.
響應: 226 Transfer complete.
狀態: 文件傳輸成功,傳輸了 2,052 位元組 (用時1 秒)
狀態: 讀取目錄列表...
命令: TYPE I
響應: 200 Type set to I.
命令: PASV
響應: 227 Entering Passive Mode (172,16,101,104,8,88)
命令: MLSD
響應: 150 Opening BINARY mode data connection for MLSD.
響應: 226 Transfer complete.
狀態: 列出目錄成功
主動(PORT)模式:
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條控制連接。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
一次完整的主動連接及數據傳輸過程:
狀態: 正在連接 172.16.101.104:21...
狀態: 連接建立,等待歡迎消息...
響應: 220 Serv-U FTP Server v6.4 for WinSock ready...
命令: USER test
響應: 331 User name okay, need password.
命令: PASS ****
響應: 230 User logged in, proceed.
狀態: 已連接
狀態: 開始上傳 E:\Downloads\liugong\liugong\404.htm
命令: CWD /
響應: 250 Directory changed to /
命令: TYPE A
響應: 200 Type set to A.
命令: PORT 172,16,101,104,8,76
響應: 200 PORT Command successful.
命令: STOR 404.htm
響應: 150 Opening ASCII mode data connection for 404.htm.
響應: 226 Transfer complete.
狀態: 文件傳輸成功,傳輸了 2,052 位元組 (用時1 秒)
狀態: 讀取目錄列表...
命令: TYPE I
響應: 200 Type set to I.
命令: PORT 172,16,101,104,8,77
響應: 200 PORT Command successful.
命令: MLSD
響應: 150 Opening BINARY mode data connection for MLSD.
響應: 226 Transfer complete.
狀態: 列出目錄成功
再回來說這一題,看到
計算埠為 4*256+17=1041
埠過濾,追蹤tcp流
⑵ ftp怎樣使用
分類: 電腦/網路 >> 互聯網
解析:
FTP基礎知識
您是否正准備搭建自己的FTP網站?您知道FTP協議的工作機制嗎?您知道什麼是PORT方式?什麼是PASV方式嗎?如果您不知道,或沒有完全掌握,請您坐下來,花一點點時間,細心讀完這篇文章。所謂磨刀不誤砍柴功,掌握這些基礎知識,會令您事半功倍。否則,很可能折騰幾天,最後一事無成。
FTP基礎知識
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴伺服器:「我打開了****埠,你過來連接我」。於是伺服器從20埠向客戶端的****埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,伺服器在命令鏈路上用 PASV命令告訴客戶端:「我打開了****埠,你過來連接我」。於是客戶端向伺服器的****埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
FTP伺服器端的注意事項
一、FTP伺服器是公網IP,用公網動態域名;或是內網IP,用內網專業版TrueHost
1、伺服器如果安裝了防火牆,請記住要在防火牆上打開FTP埠(默認是21)。
2、所有FTP伺服器軟體都支持PORT方式。至於PASV方式,大部分FTP伺服器軟體都支持。支持PASV方式的FTP伺服器軟體,也可以設置為只工作在PORT方式上。
3、為了PASV方式能正常工作,需要在FTP伺服器軟體上為PASV方式指定可用的埠范圍(設置方法)。此外,還要在伺服器的防火牆上打開這些埠。當客戶端以PASV方式連接伺服器的時候,伺服器就會在這個埠范圍里挑選一個埠出來,給客戶端連接。
二、FTP伺服器是內網IP,用內網動態域名標准版cm*natpro*y
這種情況下,FTP伺服器不需要做特殊設置,只要支持PASV方式就可以了。大部分FTP伺服器軟體都支持PASV方式。
FTP客戶端的注意事項
請注意:選擇用PASV方式還是PORT方式登錄FTP伺服器,選擇權在FTP客戶端,而不是在FTP伺服器。
一、客戶端只有內網IP,沒有公網IP
從上面的FTP基礎知識可知,如果用PORT方式,因為客戶端沒有公網IP,FTP將無法連接客戶端建立數據鏈路。因此,在這種情況下,客戶端必須要用PASV方式,才能連接FTP伺服器。大部分FTP站長發現自己的伺服器有人能登錄上,有人登錄不上,典型的錯誤原因就是因為客戶端沒有公網IP,但用了IE作為FTP客戶端來登錄(IE默認使用PORT方式)。
作為FTP站長,有必要掌握FTP的基礎知識,然後指導您的朋友如何正確登錄您的FTP。
二、客戶端有公網IP,但安裝了防火牆
如果用PASV方式登錄FTP伺服器,因為建立數據鏈路的時候,是由客戶端向伺服器發送連接請求,沒有問題。反過來,如果用PORT方式登錄FTP伺服器,因為建立數據鏈路的時候,是由伺服器向客戶端發送連接請求,此時連接請求會被防火牆攔截。如果要用PORT方式登錄FTP伺服器,請在防火牆上打開 1024以上的高端埠。
三、連接用內網標准版cm*natpro*y搭建的FTP服務,必須要用PASV方式。連接任何公網FTP伺服器、或用內網專業版TrueHost搭建的FTP伺服器,PORT方式和PASV方式都可以使用。
當然,使用PORT方式的時候,還要滿足上面的兩個條件。
四、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法。
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。
在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
IE:
工具 -> Inter選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
CuteFTP:
Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」
或
File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」
FlashGet:
工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」
FlashFTP:
選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」
或
站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」
或
快速連接 -> 切換 -> 「使用被動模式」
LeechFTP:
Option -> Firewall -> Do not Use
五、請盡量不要用IE作為FTP客戶端
IE只是個很粗糙的FTP客戶端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登錄FTP的時候,看不到登錄信息。在登錄出錯的時候,無法找到錯誤的原因。在測試自己的FTP網站的時候,強烈建議不要使用IE。
FTP建站的詳細配置過程
請參考這個網頁的說明來配置:
使用Serv-U建立FTP網站
高級話題
一、為什麼沒有公網IP,也能使用PORT方式登錄FTP?
NAT 網關的工作方式是在TCP/IP數據包的包頭里找區域網的源地址和源埠,替換成網關的地址和埠。對數據包里的內容,是不會改變的。而使用PORT方式登錄FTP的時候,IP地址與埠信息是在數據包裡面的,而不是在包頭。因此,沒有公網IP,使用PORT方式是無法從inter上的ftp伺服器下載數據的。
但是,極少數的NAT網關也支持PORT方式。這些NAT網關連數據包裡面的內容都掃描,掃描到 PORT指令後會替換PORT方式的IP和埠。在這種NAT網關下面,用PORT方式就沒問題了。不過,這些網關也只掃描21埠的數據包,如果FTP 伺服器不是用默認的21埠,也無法使用PORT方式。
二、內網可以用PORT訪問其他FTP,為什麼不能用PORT訪問自己的TrueHost FTP?
下面要討論的問題,只是為了說明一些原理,是不影響實際使用的。如果您沒有興趣深究這些原理,不必花時間看。
內網用戶通過支持PORT方式的NAT網關,訪問自己本機利用TrueHost建立的FTP伺服器,FTP命令鏈路的建立過程如下:
FTP客戶端
10.10.0.1
埠*** <==> ISP NAT網關
61.144.1.2
埠**** <==> TH伺服器
*.*.*.*
埠21 <==> TH客戶端 <==> 用戶FTP伺服器
10.10.0.1
埠21
FTP客戶端通過ISP的NAT網關、科邁TrueHost伺服器、TrueHost客戶端,連接用戶本機的FTP伺服器的21埠。
當需要下載數據的時候,FTP客戶端通過這條命令鏈路,向FTP伺服器發送PORT命令。假設命令為:
PORT 10,10,0,1,30,4 (即IP=10.10.0.1 埠=30*256+4=7684)
當命令通過ISP的NAT網關的時候,NAT網關判斷目的埠是21,並且是PORT命令,於是,修改命令里的IP和埠,替換為自己的IP和埠,比如:
PORT 61,144,1,2,50,6 (即IP=61.144.1.2 埠=50*256+6=12806)
用戶的FTP伺服器最終收到的是上面這個PORT命令。於是,FTP伺服器向這個IP和埠發送連接請求,建立數據鏈路。
用戶FTP伺服器
10.10.0.1
埠20 <==> ISP NAT網關
61.144.1.2
埠12806 <==> FTP客戶端
10.10.0.1
埠7684
但是,因為NAT網關的公網IP只能接收外來的連接請求。就是說,61.144.1.2:12806隻能接收其他公網IP的連接請求,對於從NAT內部(10.10.0.1:20)發起的連接請求,是無法建立連接的。為什麼?原因很簡單,因為內網IP要訪問外網,必須要通過NAT建立映射。於是FTP數據鏈路無法建立。於是,用戶無法在自己的機器上通過21埠訪問自己的TrueHost FTP。
我們再來看看,如果FTP埠不是21,比如是22,會發生什麼情況呢?在FTP客戶端發送PORT命令的時候,NAT網關檢測到目標埠是22,因為支持PORT的 NAT網關只監視目的埠是21的數據包,發現目的埠是22的數據包,不做任何處理,完全放行。於是FTP伺服器收到的PORT命令依然是PORT 10,10,0,1,30,4。於是FTP伺服器向這個IP和埠發送連接請求。
用戶FTP伺服器
10.10.0.1
埠20 <==> FTP客戶端
10.10.0.1
埠7684
這種情況下命令鏈路就可以建立起來了。而且是等於本機連接本機,速度飛快。
綜上所述,內網用戶無法用PORT方式通過21埠訪問自己的TrueHost FTP伺服器。如果FTP埠不是21,則可以訪問,而且實際上是本機連接本機。
上面的文字,僅僅是為了說明一些原理,不影響實際使用。如果本機訪問本機,還要通過FTP的話,就有畫蛇添足之嫌了。
⑶ 怎麼通過ftp傳送文本文件
不知道你的winsock是udp還是tcpip協議
這里給你一個我寫的實例我是用的udp這個發送了一段數據不一定接收就正確所以我做了校驗
'以下是接收文件的
OptionExplicit
DimFOKAsBoolean,FsAsLong,FileNumberAsInteger,LenFileAsLong '文件的長度
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubCommand2_Click()
OnErrorResumeNext
DimAAsString
Me.Caption="開始下載"
IfDir(Text2.Text)<>""AndChV.Value=0Then
IfMsgBox("文件已經存在,覆蓋嗎?",vbCritical+vbYesNo)=vbYesThenKillText2.TextElseExitSub
Else
KillText2.Text
EndIf
IfText2.Text=""ThenText2.Text=Text1.Text
'Command2.Enabled=False
IfCh.Value=0ThenA="#DOW#"ElseA="#DOV#"
FMain.Wsk.SendDataA&Text1.Text
Wt1
FMain.Wsk.SendData"#DOE#"&Text2.Text
EndSub
PrivateSubForm_Load()
DimAAsString
'FMain.Ts.Enabled=True
OnErrorResumeNext
IfFMain.Cb.Text="本地組"OrFMain.Cb.Text="全部組"Then
Me.Caption="請重選下載用戶[「組」不能正確下載]"
Else
Command1.Top=-2000
Winsock0.LocalPort=FilePort
Winsock0.Bind
EndIf
EndSub
PrivateSubForm_Unload(CancelAsInteger)
OnErrorResumeNext
Winsock0.Close
Err.Clear
EndSub
PrivateSubLa_Click()
CDL.FileName=""
CDL.ShowOpen
Text2.Text=CDL.FileName
EndSub
PrivateSubWinsock0_DataArrival(ByValbytesTotalAsLong)
OnErrorResumeNext
DimFileByte()AsByte,AAsString,MendByte()AsByte,IAsLong,JAsLong,TempAsString,WAsString
Winsock0.GetDataFileByte,vbArray+vbByte'接收類型為:位元組數組
J=UBound(FileByte)'獲得包長
ForI=0To7Step2'合並包頭
Temp=Temp&Chr(FileByte(I))
Next
ForI=0To9'文件發送結束標記
A=A&Chr(FileByte(I))
Next
IfA="#ERR#"ThenWinsock0.SendData"no"
IfA="#END#"Then
ForI=0ToLen(FMain.TIn.Text)
IfI<100Then
W=Left(Right(FMain.TIn.Text,I),1)
IfW="!"Then
W=Left(Right(FMain.TIn.Text,I+4),5)
ExitFor
EndIf
Else
ExitFor
EndIf
NextI
IfW<>"下載完成!"Then
FOK=False
Me.Caption="下載完成!["&Text2.Text&"]"
FMain.TIn.Text=FMain.TIn.Text&"["&Now&"]"&"下載完成!("&Fs&"<="&LenFile&")"&vbCrLf
Command2.Enabled=True
EndIf
Else
IfVal(Temp)=JThen'比較長度看丟包沒有
ReDimMendByte(J-8)
ForI=0ToJ-8'提出包頭
MendByte(I)=FileByte(I+7)
Next
Fs=Fs+UBound(FileByte)-7
Put#FileNumber,,MendByte'寫文件
Winsock0.SendData"ok"'發送繼續發送的請求
Me.Caption="文件下載完成:["&Left(Fs/LenFile*100,4)&"%]"
Else
IfLeft(A,10)="#SENDSTA#"Then
A=""
ForI=10ToUBound(FileByte)'文件發送結束標記
A=A&Chr(FileByte(I))
Next
LenFile=Val(Left(A,InStr(A,"//")-1))
ForI=0ToLen(Text2.Text)
A=Left(Right(Text2.Text,I),1)
IfA=""ThenExitFor
Next
IfDir(Left(Text2.Text,Len(Text2.Text)-I+1),vbDirectory)=""ThenMkDirLeft(Text2.Text,Len(Text2.Text)-I+1)
'"#SENDSTA#"&FileLen(Text1.Text)&"//"&Text2.Text
FileNumber=FreeFile'取得未使用的文件號
Fs=0
OpenText2.TextForBinaryAs#FileNumber'打開文件
Else
IfA<>"#SENDEND#"Then
Winsock0.SendData"no"'出現丟包,請求重發
Else
Winsock0.SendData"#END#"'發送繼續發送的請求
Close#FileNumber
Reset
IfFOK=FalseThen
FOK=True
Me.Caption="下載完成!["&Text2.Text&"]"
FMain.TIn.Text=FMain.TIn.Text&"["&Now&"]"&"下載完成!("&Fs&"<="&LenFile&")"&vbCrLf
Command2.Enabled=True
Else
FOK=False
EndIf
EndIf
EndIf
EndIf
EndIf
EndSub
⑷ 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可以採用2種工作模式,分別是Port模式、Passive模式;
FTP的傳輸有兩種方式:ASCII、二進制:
1、ASCII傳輸方式:
假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通拿姿常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式
2、二進制傳輸模式:
在二進制傳輸中,悔敏迅保存文件的位序,以便原始和碧此拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
(5)ftp怎麼發送數據擴展閱讀:
FTP文件傳輸協議的特點介紹:
FTP工作在TCP/IP模型的應用層,基於的傳輸協議是TCP,FTP客戶端和伺服器之間的連接是可靠的,面向連接的,為數據的傳輸提供了可靠的保證。
FTP的主要特徵:
1、控制連接是建立在客戶協議解釋器和伺服器協議解釋器之間用於交換命令與應答的通信鏈路
2、數據連接是傳輸數據的全雙工連接。傳輸數據可以發生在伺服器數據傳輸過程DTP和客戶DTP之間,也可以發生在兩個伺服器的DTP之間。
⑹ ftp如何傳送數據包
ftp 有兩種模式,主動被動,但根本模式都是 埠連接 tcp的三次握手,成功後會開啟數據埠(隨即埠),發送數據,除非你在ftp配置了數據埠,不然數據埠是隨即的
⑺ 如何使用ftp工具上傳網站內容
如何使用ftp工具上傳網站內容?
FTP是傳輸控制協議,和http類似,它也是一個面向連接的一個協議,它有點區別於http的地方就是,它用兩個埠進行工作一個是20,一個是21,這兩個埠一個用於進行傳輸數據文件一個用於控制信息的傳輸。那麼如何使用ftp工具上傳網站內容呢?它只提供文件的'瀏覽方式,並不是以網頁的形式打開,以網頁的形式打開是以http協議進行瀏覽的。
FTP主要用途是什麼?
FTP主要用在網站建設中,用來上傳網站文件到伺服器。在需要備份網站文件時,也可以用FTP下載網站文件到本地電腦。
FTP軟體有:flashFXP, leapFTP,差別不大,因為網站做好之後用的並不多。所以一般能用就行了,沒有去測試flashFXP, leapFTP的區別。
如何使用FTP工具,以上兩個軟體都是大同小異的。
首先需要伺服器的ip地址,FTP帳號和密碼連接。
連接成功後,有四個窗口分別代表四種狀態。左上為本地文件;左下為傳送狀態;右上為伺服器文件;右下為連接信息列表。傳送文件的話,在左上選中你的文件,反鍵傳送 就可以了。操作很簡單,軟體也比較小。上傳就比較簡單。
;⑻ 怎麼使用FTP,實現兩台計算機之間文件的傳輸需要注意什麼......
如果使用FTP的話,其實不能叫傳文件,這個方法實際是建立一個FTP伺服器,然後讓客戶機去訪問FTP伺服器,從FTP上下載文件到本地計算機。
⑼ 怎麼建立自己的FTP伺服器給朋友傳東西啊
分類: 電腦/網路 >> 互聯網
問題描述:
比QQ傳的快吧。我只會從FTP上下東西,不會自己建,請大家幫幫忙,謝了
解析:
很復雜啊!!!!
如何建立FTP伺服器
建立起一個完備的FTP 伺服器,及一些使用FTP 所必須了解的相關知識
Inter 的迅速發展為人們提供的前所未有的信息資源,越來越多的人希望在享受Inter 帶來的全新的體驗的時候,能夠擁有自己的網上家園。在當今流行的Inter 應用中,要數WWW 和 FTP 文件傳輸最為普及了。本文將結合Serv-U 這一功能強大,界面友好,易學易用的FTP 伺服器端軟體,詳細的介紹如何在最短的時間內建立起一個完備的FTP 伺服器。除了具體的安裝和配置說明外,文中還將涉及一些使用FTP 所必須了解的相關知識,希望能夠對廣大網友有所幫助。
簡介
Serv-U 是目前眾多的FTP 伺服器軟體之一。通過使用Serv-U,用戶能夠將任何一台PC 設置成一個FTP 伺服器,這樣,用戶或其他使用者就能夠使用FTP 協議,通過在同一網路上的任何一台PC與FTP 伺服器連接,進行文件或目錄的復制,移動,創建,和刪除等。這里提到的FTP 協議是專門被用來規定計算機之間進行文件傳輸的標准和規則,正是因為有了象FTP 這樣的專門協議,才使得人們能夠通過不同類型的計算機,使用不同類型的操作系統,對不同類型的文件進行相互傳遞。
雖然目前FTP 伺服器端的軟體種類繁多,相互之間各有優勢,但是Serv-U 憑借其獨特的功能得以展露頭腳。具體來說,Serv-U 能夠提供以下功能:
符合windows 標準的用戶界面友好親切,易於掌握。
支持實時的多用戶連接,支持匿名用戶的訪問;通過限制同一時間最大的用戶訪問人數確保PC 的正常運轉。
安全性能出眾。在目錄和文件層次都可以設置安全防範措施。能夠為不同用戶提供不同設置,支持分組管理數量眾多的用戶。可以基於IP 對用戶授予或拒絕訪問許可權。
支持文件上傳和下載過程中的斷點續傳。
支持擁有多個IP 地址的多宿主站點。
能夠設置上傳和下載的比率,硬碟空間配額,網路使用帶寬等,從而能夠保證用戶有限的資源不被大量的FTP 訪問用戶所消耗。
可作為系統服務後台運行。
可自用設置在用戶登錄或退出時的顯示信息,支持具有UNIX 風格的外部鏈接。
上面列出的只是Serv-U 眾多功能中的一部分,具體的使用將在下文中進行詳細的介紹,這里要說明的? 時,Serv-U 在保持功能全面,強大的基礎上,提供的完全易於使用的操作界面,可以說一切盡在掌握。
使用說明
用戶在使用Serv-U 的過程中可能會碰到的所有設置問題都可以通過Serv-U 窗口中的菜單選項實現。如果用戶在安裝Serv-U 之後,啟動Serv-U 時,屏幕上沒有顯示出Serv-U 的控制窗口的話,可以用滑鼠右鍵點擊位於任務條系統托盤中的Serv-U 圖標(一個大寫的字母「U」),然後選擇彈出菜單中的第一項「Show Window」,這樣屏幕上就會顯示出Serv-U 的控制窗口。
設置FTP伺服器
位於Serv-U 控制窗口中的「SETUP」菜單中的第一項「FTP-SERVER」用來對FTP 伺服器進行總體上的設置。在選擇之後出現的窗口中的第一項「FTP PORT NUMBER」用來設置FTP伺服器使用的埠號,FTP伺服器將會通過該埠收聽所有來訪用戶的信息。一般情況下,FTP 伺服器的默認埠號為21,但是用戶可以根據自己的情況自由的進行更改,只要能夠保證所採用的埠號與其它網路應用不沖突即可。這里需要說明的一點是,使用用戶自己選擇的伺服器埠可以起到很好的安全防範作用,這時,只有用戶自己和其他知道該埠號的用戶才能夠成功的實現與伺服器的連接。因此,建議用戶在設置F TP 伺服器的時候使用自己選定的埠,而不要只是簡單的使用默認值。
隨後用戶需要設置伺服器所能提供的最大速度。一般情況下,用戶可以將這項空出,那麼伺服器將會利用所有可能的帶寬為客戶提供服務。能夠為用戶提供最大的訪問速度當然很好,但是過多的F TP 用戶可能會蠶食掉一切可能的帶寬,從而使其它的網路應用幾乎不可能實現。因此,合理的控制FTP 伺服器所能夠佔用的最大帶寬還是很重要的。
下一項是設置伺服器允許的最大用戶訪問量。在此,用戶可以限制同一時間內訪問FTP 伺服器的最大人數。如果把該項設為0,那麼FTP 伺服器將會拒絕任何用戶訪問要求;如果將該項空出,那麼Serv-U 將不會對訪問人數進行控制,直到耗盡所有的系統資源。如果用戶希望自己的FTP 伺服器能夠保持正常運轉的話,那麼最好對來訪的用戶數量進行合理的限制。一般情況下,即使老式的486 機器,在使用Serv-U之後,也能夠在同一時間內為20多名用戶提供訪問支持。
在此之後的一系列復選項中的第一項為「啟動安全功能」。如果用戶沒有選擇該項,那麼任何人通過網路都可以直接進入FTP 伺服器,對伺服器中的任何文件進行隨意地復制,改動,甚至刪除。除了那些擁有小范圍內的個人網路,不希望每次登錄都重復輸入用戶名、密碼等煩雜手續的人之外,用戶一定要確保已經選中了該選項,即啟動了伺服器的安全防範功能。
下一項「ENCRYPT PASSWORDS」在默認情況下也被自動選中。這樣,Serv-U 將會使用與UNIX 操作系統相同的加密機制加密並保存用戶的密碼。如果用戶不選擇對密碼進行加密,那麼所有用戶輸入的口令將會以明文的方式保存在位於S erv-U 安裝目錄下的Serv-U.ini 文件中。
隨後一項用來設定是否需要匿名訪問用戶輸入密碼。默認情況下,該項為空白,這樣那些使用匿名帳號訪問FTP 伺服器的用戶將不被要求輸入口令。需要注意的是這里對匿名用戶密碼的檢測非常簡單,只要匿名用戶輸入符合郵件地址格式的任意字元串即可,S erv-U 不會進一步的判斷用戶輸入的郵件地址是否真正存在。
下一項為預防反超時措施。如果用戶選擇了該選項,Serv-U 將會採用新的記時方式,那些希望通過定期向伺服器發送命令來防止出現超時操作的用戶將不再得逞。
隨後的選項被用來設定是否刪除沒有完整上傳的文件,如果用戶不使用該刪除功能,那麼當有用戶在向FTP 伺服器上傳文件的過程中出現錯誤而沒有實現文件的完整上傳時,Serv-U 將會在硬碟上保留已上傳的內容,從而實現上傳文件的斷點續傳。
下面我們要討論的是跨FTP 攻擊。通常狀況下,當使用FTP 協議進行文件的傳輸時,客戶端首先向FTP 伺服器發出一個「PORT」命令,該命令中包含該用戶的IP地址和將被用來進行數據傳輸的埠號。伺服器在收到該命令後,利用命令所提供的用戶地址信息建立與用戶的連接。大多數情況下,上述過程不會出現任何問題,但是,當客戶端是一名惡意用戶時,可能會通過在P ORT 命令中加入特定的地址信息,使FTP 伺服器與其它非客戶端的機器建立連接。雖然這名惡意用戶可能本身無權直接訪問某一特定機器,但是如果FTP 伺服器有權訪問該機器的話,那麼惡意用戶通過FTP 伺服器作為中介,仍然能夠最終實現與目標伺服器的連接。這就是我們所提到的跨伺服器攻擊。為了防止上述情況的發生,用戶可以選擇「防止跨F TP 伺服器攻擊」的選項,這樣Serv-U在與任何來訪用戶建立連接之前,首先要核實該用戶提供的地址信息是否為其真實地址。任何事情都是兩方面的。我們已經知道通過使用S erv-U 可以防止發生跨FTP伺服器的攻擊,但是,同時我們也放棄了在FTP伺服器和FTP 伺服器之間實現數據傳輸的功能。這是因為Serv-U 只會與那些所提供的地址與地址提供者的實際地址相符的用戶建立連接,用戶將不能遠程式控制制在兩台不同的FTP 伺服器之間進行文件傳輸。
最後的兩個選項用來限制用戶在FTP 伺服器上的最大停留時間,以及規定伺服器中文件和目錄名的大小寫。
該窗口中的其它相關選項我們將會在稍後進行詳細介紹。
用戶帳號管理
用戶使用FTP 伺服器的一個最基本的任務就是添加和管理用戶信息。通過選擇「SETUP」菜單中的「USERS」打開Serv-U 的用戶管理窗口。該窗口可以分為左右兩大部分。其中左邊的窗口用來顯示目前所有已經注冊的FTP伺服器的用戶。任意選中其中一個用戶,其詳細的配置信息將會相應的顯示在窗口的右邊。如果是首次啟動S erv-U,那麼僅會顯示一個名為「DEFAULT」的系統默認帳號。
下面詳細介紹一下建立新用戶帳號的全過程.
首先單擊窗口最右邊的「NEW」按鈕,在隨後的彈出窗口中輸入需要建立的用戶名。這時,輸入的用戶名就會出現在窗口右邊的用戶名一欄中。用戶還可以在該欄中對所建立的帳號名稱進行修改。
隨後用戶可以輸入該帳號將要歸屬的用戶組的組名或建立一個新的組。所謂組是人們為了便於管理數量龐大的用戶群而推出的概念。我們可以把眾多的單個用戶劃分到不同的組里進行統一的管理。因為屬於同一個組的用戶都具有一些共同的屬性,例如用戶密碼,根目錄等,所以用戶只需要對個別具有特殊屬性的帳號進行個別設置即可,這樣就極大的簡化了對用戶帳號的管理和維護工作。需要注意的一點是,「A nonymous」這個特殊的用戶帳號不屬於任何一個用戶組。
在隨後的密碼欄中需要輸入帳號的口令,如果用戶在伺服器的設置中選擇了加密密碼的選項(見前文),那麼所輸入的密碼將自動以加密方式儲存。關於密碼很重要的一點是只有輸入的前8 位字元有效,希望能夠引起廣大Serv-U 使用者的注意。另外,如果用戶在建立新的帳號時沒有輸入相應的密碼,那麼並不意味著該用戶帳號沒有密碼,Serv-U 將會嘗試著尋找是否該用戶帳號屬於某一個用戶組並且該用戶組具有統一的密碼。如果Serv-U 沒有找到相應的用戶組密碼的話,將會拒絕該用戶帳號的訪問。如果用戶確實希望不規定某個帳號的密碼,只要在相應帳號的密碼一欄中輸入「$ #@60;$#@60;None$#@62;$#@62;」即可。上述情況的一個例外是Anonymous 用戶帳號,該帳號沒有密碼,Serv-U 只要求用戶輸入符合郵件地址格式的任意字元串即可。
在「HOME」一欄中,設置FTP 用戶的根目錄,即用戶在成功登錄之後所自動位於的起始目錄。每一個用戶帳號都要有自己的根目錄,否則Serv-U 將拒絕該用戶帳號的訪問。當然,如果該帳號屬於某個組,而該用戶組已經設定了共同的根目錄,那麼用戶就不必對該用戶組內的每個帳號進行重復設置。用戶在輸入根目錄的地址時應當注意必須使用完全路徑,包括盤符。
在「NOTE」一欄中,用戶可以選擇輸入一些對帳號起輔助說明的文字以備將來參考之用。
在用戶窗口右邊最大的一欄用來設定帳號的訪問許可權,從而決定用戶可以訪問哪些文件,並以何種方式訪問這些。Serv-U 按照文件和目錄兩大類別對用戶的訪問許可權進行了劃分。具體來說包括:
對文件的訪問許可權:
READ:允許用戶下載文件;
WRITE:允許用戶上傳文件,但無權對文件進行更改,刪除,或重命名;
APPEND:允許用戶對已有的文件進行附加,擁有APPEND許可權的用戶自動擁有WRITE
許可權;
DELETE:允許用戶對文件進行改動,重命名,或刪除。擁有DELETE許可權的用戶自動擁
有WRITE 和APPEND 許可權;
EXECUTE:允許用戶通過FTP 運行可執行文件。例如,用戶可以遠程運行DOS或Windows
程序。
對目錄的訪問許可權:
LIST:允許用戶取得目錄列表;
MAKE:允許用戶在根目錄下建立新的子目錄;
REMOVE:允許用戶刪除根目錄下的子目錄。
INHERIT:選中該選項之後,對某一目錄設置的訪問許可權將自動被該目錄下的所有子目錄
繼承。
在完成上述所有設置之後,點擊「STORE」按鈕,新建立的用戶帳號將被保存在FTP 伺服器中。
該窗口中的其它選項將會在稍後進行詳細的介紹。
實時監控
用戶在完成FTP伺服器的基本配置之後,就可以向外界提供FTP文件傳輸服務了。我想很多用戶都希望在提供FTP 服務的過程中,能夠實時地對訪問自己伺服器的用戶進行監控,從而一方面既能夠對整個服務過程做到心中有數,另一方面還可以在可能出現意外問題之前,採取及時的防範和補救措施。在這一方面,相信S erv-U 能夠充分滿足大家的需求。
首先,讓我們看一下如何利用Serv-U 實現實時的用戶監控。
選擇「FILE」菜單中的「USER INFO」選項。在彈出窗口中的上半部分將會顯示出所有當前正在與伺服器連接的用戶。用滑鼠點擊其中的任一用戶將會在窗口的下半部分出現該用戶的詳細信息。
在窗口的右下方有一個「SPY ON USER」按鈕,點擊之後出現的窗口將會顯示出特定用戶向FTP伺服器發出以及FTP 伺服器響應的所有命令。該窗口將會跟蹤所選用戶的所有命令,對了解特定用戶在訪問FTP 伺服器的過程中的所有行為提供了可*的依據。
在該按鈕下方還有一個名為「KILL USER」的按鈕,如果用戶發現某個來訪用戶的行為可疑,可能會對FTP 伺服器的正常工作帶來危害的話,可以通過使用該按鈕立即中斷與該用戶的連接,將該用戶踢出FTP 伺服器。
需要注意的一點是,雖然Serv-U 能夠提供實時的用戶監控信息,但是需要耗用很大一部分的系統資源。如果用戶發現系統性能出現明顯下降的話,可以通過窗口右側的「F REEZE LIST」按鈕暫時凍結窗口信息的動態顯示,從而釋放出寶貴的系統資源。
設置伺服器端日誌記錄
除了能夠實時的進行監控之外,Serv-U還提供了強大的日誌記錄功能,從而方便用戶記錄和總結一段時期內Serv-U的運行情況。
選擇「FILE」菜單下的「LOGGING」,彈出日誌設置窗口,用戶可以選擇對哪些事件進行記錄,以及將記錄信息保存到何處。
在該窗口的右側,用戶可以選擇對不同的事件進行記錄,其中包括系統信息,安全信息等,同時用戶還可以設置是將所記錄 畔⑾允駒贇erv-U 的主窗口內,還是保存到某一指定文件內。出於耗用系統資源和備份信息的需要,建議用戶把日誌信息保存到指定的文件內。
需要說明的一點是Serv-U 的日誌記錄文件採用統一的格式,具體如下:
[n] DATE TIME - (xxxx) MESSAGE
最前面的數字「n」代表所記錄信息的類別,分別為:
n=1:系統信息(錯誤信息等);
n=2:用戶發出的FTP 命令;
n=3:文件下載;
n=4:文件上傳;
n=5:安全信息(用戶登錄信息等)
n=6:伺服器響應的FTP 命令;
n=7:WinSock使用記錄;
n=8:DLL文件訪問記錄
另外,括弧中的「XXXX」是Serv-U 賦予每一個來訪用戶的一個唯一的數字標識。
5.設置登錄和退出信息
細心的用戶可能會發現在登錄或退出某個FTP站點時,經常會出現一個窗口,顯示一些包括系統設置,歡迎訪問等在內的信息。那麼如何在S erv-U 下實現這一功能呢?
首先,用戶需要把要顯示給用戶的信息保存在一個文本文件中,然後選擇「SETUP」菜單中的「MESSAGES」,在彈出的窗口中進行設置。
在位於窗口最上方的下來框中,用戶需要選擇將要使用登錄和退出信息的IP地址。因為Serv-U 支持一台機器擁有多個IP,所以用戶需要選擇相應的IP地址。在下面的兩個選項中分別輸入用戶事先已經建立好的包含登錄和退出信息的文本文件的地址。
使用外部連接
所謂外部連接是指那些顯示在某一目錄下指向位於該目錄之外的某一文件或目錄的連接。在用戶端看來,外部連接所指向的文件或目錄就位於當前目錄之下,但實際上他們只是一些起連接作用的虛擬指針。使用外部連接的一個最大好處就是能夠把來訪用戶可能需要的所有資源都集中到一個目錄之中,這樣用戶就可以通過不同的外部連接訪問實際上位於不同磁碟或不同目錄的分散信息。
為了充分利用Serv-U 提供的外部連接功能,用戶首先需要生成一個文本文件保存所有可能會用到的外部連接。文件的具體格式如下:
LINK NAME | SOURCENAME
其中的「LINK NAME」是顯示在用戶當前目錄下的外部連接的名稱,而「SOURCENAME」則是該外部連接實際指向的磁碟或目錄。
例如我們在一個名為「LINK.TXT」的文件中寫入如下一條:
CD-ROM | F:\
這樣在用戶的當前目錄中就會出現「CD-ROM」字樣,點擊之後,就可以直接訪問FTP 伺服器的光碟機。
在配置好外部連接的文本文件之後,選擇「FTLE」菜單中的「FTP SERVER」,在彈出的窗口中找到「PRIMARY FIEL CONTAINING LINK」,然後輸入上述文本文件的完全路徑。在「PRIMARY FIEL CONTAINING LINK」下方有一個「SECONDARY FILE CONTAINING LINK」,該項是用來設定起輔助作用的外部連接文件,可以參照上述方法生成。
設置上傳和下載比例
如果用戶希望自己FTP 站點的使用者不僅僅使用自己提供的資源,還能夠上傳一些有價值的東西供大家共享的話,可以通過使用Serv-U提供的「上傳和下載比例」這一功能實現。
用戶可以在「FILE」菜單中的「FTP-SERVER」,「USERS」和「GROUPS」的彈出窗口中找到名為「U/D RATIOS」的功能按鈕,點擊之後出現設置窗口。用戶可以限制每個FTP 站點的使用者每上傳一個文件後可以下載的文件數。例如,如果將某個用戶的上傳和下載比例設置為1/3,那麼該用戶每上傳一個文件,就可以從F TP 站點下載3個文件。
Serv-U 支持在單個會話過程或全部會話過程的范圍內,按照具體傳輸的文件數目或文件的大小,限制用戶的上傳和下載比例。
使用磁碟限額
隨著用戶數量的增加,一個非常實際的問題就是如何既能夠確保每個用戶都有足夠的硬碟空間可用,同時又防止FTP 伺服器吞食整個機器的硬碟資源。同樣,在這個問題上Serv-U提供了有力的解決方案。
用戶可以分別在「FILE」菜單中的「USERS」和「GROUPS」選項的彈出窗口中找到名為「QUATO」的功能按鈕。點擊之後出現設置窗口,用戶可以首先檢測某個用戶帳號當前所使用的硬碟空間,然後根據具體的情況分別設置不同的用戶帳號所能支配的最大硬碟空間,從而有效的解決硬碟空間不足的問題。
基於IP地址授予或拒絕訪問許可權
選擇「FILE」菜單中的「IP ACCESS」選項,在彈出的窗口中進行設置。
用戶可以在窗口的左邊設置不同的訪問規則,而當前所有的訪問規則將會顯示在右邊的列表中。
Serv-U 提供了兩種基本的訪問規則,分別為「拒絕訪問」規則和「允許訪問」規則。在「拒絕訪問」規則下,所有來自用戶輸入的IP地址的訪問者都將被拒絕訪問,而來自其它I P地址的用戶都將被授予訪問許可權。同理,如果用戶選擇了「允許訪問」規則,那麼所有來自用戶輸入的IP地址的訪問者都將被授予訪問許可權,而來自其它I P 地址的用戶將無權訪問FTP 伺服器。
通過以上功能,用戶可以針對不同的IP地址,設置不同的許可權,從而有效的保障FTP 伺服器免受非法訪問者的侵害。
三.小節
Serv-U 是一款使用簡單,功能強大,易學易用的FTP 伺服器端軟體。相信廣大用戶結合以上的介紹,再加上個人的實踐,一定會在最短的時間內構建起自己的功能強大的FTP伺服器。