有很多人對(duì)FTP的問(wèn)題多多,大家參考、討論一下。我的環(huán)境如下:
SERVER:ISA SP1,IIS
CLIENT:windows 2000 and XP, CuteFTP
本文主要討論ISA和FTP在同一臺(tái)機(jī)器上的處理辦法。
大多數(shù)的TCP服務(wù)是使用單個(gè)的連接,一般是客戶向服務(wù)器的一個(gè)周知端口發(fā)起連接,然后使用這個(gè)連接進(jìn)行通訊。但是,F(xiàn)TP協(xié)議卻有所不同,它使用雙向的多個(gè)連接,而且使用的端口很難預(yù)計(jì)。一般,F(xiàn)TP連接包括:
一個(gè)控制連接(control connection)
這個(gè)連接用于傳遞客戶端的命令和服務(wù)器端對(duì)命令的響應(yīng)。它使用服務(wù)器的21端口,生存期是整個(gè)FTP會(huì)話時(shí)間。
幾個(gè)數(shù)據(jù)連接(data connection)
這些連接用于傳輸文件和其它數(shù)據(jù),例如:目錄列表等。這種連接在需要數(shù)據(jù)傳輸時(shí)建立,而一旦數(shù)據(jù)傳輸完畢就關(guān)閉,每次使用的端口也不一定相同。而且,數(shù)據(jù)連接既可能是客戶端發(fā)起的,也可能是服務(wù)器端發(fā)起的。
在FTP協(xié)議中,控制連接使用周知端口21,因此使用ISA的IP PACKET FILTER就可以這種連接進(jìn)行很好的安全保護(hù)。相反,數(shù)據(jù)傳輸連接的目的端口通常實(shí)現(xiàn)無(wú)法知道,因此處理這樣的端口轉(zhuǎn)發(fā)非常困難。FTP協(xié)議使用一個(gè)標(biāo)準(zhǔn)的端口21作為ftp-data端口,但是這個(gè)端口只用于連接的源地址是服務(wù)器端的情況,在這個(gè)端口上根本就沒有監(jiān)聽進(jìn)程。FTP的數(shù)據(jù)連接和控制連接的方向一般是相反的,也就是說(shuō),是服務(wù)器向客戶端發(fā)起一個(gè)用于數(shù)據(jù)傳輸?shù)倪B接。連接的端口是由服務(wù)器端和客戶端協(xié)商確定的。FTP協(xié)議的這個(gè)特征對(duì)ISA轉(zhuǎn)發(fā)以及防火墻和NAT的配置增加了很多困難。
除此之外,還有另外一種FTP模式,叫做被動(dòng)模式(passive mod)。在這種模式下,數(shù)據(jù)連接是由客戶程序發(fā)起的,和剛才討論過(guò)的模式(我們可以叫做主動(dòng)模式)相反。是否采取被動(dòng)模式取決于客戶程序,在ftp命令行中使用passive命令就可以關(guān)閉/打開被動(dòng)模式。
新聞熱點(diǎn)
疑難解答
圖片精選