用 netstats -an命令可以檢視本地開放埠。關閉埠需要使用防火牆,制定IP及埠訪問規則就可以了。另外,如果是Windows Server,雙擊工作列右下角的網路連線圖示,再雙擊開啟“本地連線狀態”對話方塊,點選[屬性]按鈕,再選中“Internet協議( TCP/IP)”,然後點選[屬性]按鈕,在彈出的“Internet協議(TCP/IP)”對話 框中點選[高階]按鈕。在“高階TCP/IP 設定”中選擇“選項”標籤,選中“TCP/IP篩選”,然後點選[屬性]按鈕。在“ TCP/IP篩選”對話方塊裡選擇“啟用TCP/IP篩選”的複選框,然後把左邊“TCP端 口”上的“只允許”選上。增加你允許使用的埠,如“80”、“21”、“25”等(如圖),重新啟動以後未經允許的埠就關閉了。 QQ等聊天軟體使用的是安全性較差的UDP協議,QQ本地監聽埠是4000和6000,用防火牆制定該埠雙向訪問規則。還有些埠是系統需要,如138,139,445等,也應該開放,保證系統正常工作。建議安裝天網個人防火牆2.5穩定版,可以去這裡下載 http://www.skycn.com/soft/3253.html。 該軟體功能強大,全中文介面,容易上手。安裝後,把安全級別設為高,應用程式第一次訪問網路時就會被攔截,可以按照自己需要,規定是否允許該程式訪問網路。 附: 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: 工具 -> Internet選項 -> 高階 -> “使用被動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方式是無法從internet上的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的話,就有畫蛇添足之嫌了。
用 netstats -an命令可以檢視本地開放埠。關閉埠需要使用防火牆,制定IP及埠訪問規則就可以了。另外,如果是Windows Server,雙擊工作列右下角的網路連線圖示,再雙擊開啟“本地連線狀態”對話方塊,點選[屬性]按鈕,再選中“Internet協議( TCP/IP)”,然後點選[屬性]按鈕,在彈出的“Internet協議(TCP/IP)”對話 框中點選[高階]按鈕。在“高階TCP/IP 設定”中選擇“選項”標籤,選中“TCP/IP篩選”,然後點選[屬性]按鈕。在“ TCP/IP篩選”對話方塊裡選擇“啟用TCP/IP篩選”的複選框,然後把左邊“TCP端 口”上的“只允許”選上。增加你允許使用的埠,如“80”、“21”、“25”等(如圖),重新啟動以後未經允許的埠就關閉了。 QQ等聊天軟體使用的是安全性較差的UDP協議,QQ本地監聽埠是4000和6000,用防火牆制定該埠雙向訪問規則。還有些埠是系統需要,如138,139,445等,也應該開放,保證系統正常工作。建議安裝天網個人防火牆2.5穩定版,可以去這裡下載 http://www.skycn.com/soft/3253.html。 該軟體功能強大,全中文介面,容易上手。安裝後,把安全級別設為高,應用程式第一次訪問網路時就會被攔截,可以按照自己需要,規定是否允許該程式訪問網路。 附: 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: 工具 -> Internet選項 -> 高階 -> “使用被動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方式是無法從internet上的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的話,就有畫蛇添足之嫌了。