ftp是一種檔案傳輸協議,它支援兩種模式,一種方式叫做standard (也就是 active,主動方式),一種是 passive (也就是pasv,被動方式)。
standard模式 ftp的客戶端傳送 port 命令到ftp server。
passive模式ftp的客戶端傳送 pasv命令到 ftp server。
下面介紹乙個這兩種方式的工作原理:
standard模式ftp 客戶端首先和ftp server的tcp 21埠建立連線,通過這個通道傳送命令,客戶端需要接收資料的時候在這個通道上傳送port命令。 port命令包含了客戶端用什麼埠接收資料。在傳送資料的時候,伺服器端通過自己的tcp 20埠傳送資料。 ftp server必須和客戶端建立乙個新的連線用來傳送資料。然後ftp server 將通過這個埠進行資料的傳送,這個時候ftp server不再需要建立乙個新的和客戶端之間的連線。
現在的ftp軟體裡面包括在ie5以上的版本裡面也已經支援這兩種模式了。一般一些ftp客戶端的軟體就比較好設定了,一般都有乙個pasv的選項,比如cuteftp,傳輸的方式都有standard和pasv的選項,可以自己進行選擇;另外在ie裡面如果要設定成pasv模式的話可以選中工具-internet選項-高階-為ftp站點啟用資料夾檢視,否則就採用standard模式。
很多防火牆在設定的時候都是不允許接受外部發起的連線的,所以ftp的standard模式在許多時候在內部網路的機器通過防火牆出去的時候受到了限制,因為從伺服器的tcp 20無法和內部網路的客戶端建立乙個新的連線,造成無法工作。當然也可以設定成功,首先要建立一條規則就是允許內部的ip連線外部的ip的21埠;第二條就是禁止外部ip的tcp 20埠連線內部ip的<1024的埠,這條是為了防止外部連線內部的常規埠;第三條驗證ack是否等於1,這個的原理就參見tcp建立連線的三次握手吧。所以如果安全的配置的話非常困難,這個時候就想起來了pasv模式,因為不用建立新的連線,所以也就不會涉及到後面的問題了。但是管理員可能不想使用pasv模式,因為這個時候ftp server會開放乙個隨機的高階口,儘管在iis4和iis5裡面埠的範圍是1024-5000,但是許多ftp server的埠範圍達到了1024-65535,這個時候在這個主動開放的隨機埠上是有完全的訪問許可權的,如果iis也要設定成開放的埠為1024-65535,具體方法如下:
passive模式在建立控制通道的時候和standard模式類似,當客戶端通過這個通道傳送pasv 命令的時候,ftp server開啟乙個位於1024和5000之間的隨機埠並且通知客戶端在這個埠上傳送資料的請求,
1. regedt32
2. 找到hkey_local_machine/system/currentcontrolset/services/tcpip/parameters
3. 編輯-新增-數值
value name: maxuserport data type: reg_dword value: 65534
所以如果遇到了有防火牆的話或者怕配置麻煩的話還是採用pasv模式比較好些,但是如果真的對安全的需求很高的話建議採用standard模式
mysql實際工作中的應用
記錄一下實際應用中mysql方面需要注意的地方 4 mysql大於等於 小於等於的寫法 5 按照漢字的拼音排序,用的比較多是在人名的排序中,按照姓氏的拼音字母,從a到z排序 如果儲存姓名的字段採用的是gbk字符集,那就好辦了,因為gbk內碼編碼時本身就採用了拼音排序的方法 常用一級漢字3755個採用...
ftp的兩種工作模式
ftp 是一種資料傳輸協議 file transfer protocol 它的連線模式有兩種 主動模式 active 和被動模式 passive 以下說明ftp的連線是怎樣建立的 在 active 模式下 一般預設的模式 ftp client 開啟乙個隨機選擇的tcp port 呼叫 ftp ser...
ftp的兩種工作模式
ftp 是一種資料傳輸協議 file transfer protocol 它的連線模式有兩種 主動模式 active 和被動模式 passive 以下說明ftp的連線是怎樣建立的 在 active 模式下 一般預設的模式 ftp client 開啟乙個隨機選擇的tcp port 呼叫 ftp ser...