眾所周知,計算機之間通信是通過端口進行的,例如你訪問一個網站時,Windows就會在本機開一個端口(例如1025端口),然后去連接遠方網站服務器的一個端口,別人訪問你時也是如此。默認狀態下,Windows會在你的電腦上打開許多服務端口,黑客常常利用這些端口來實施入侵,因此掌握端口方面的知識,是安全上網必備的技能
一、常用端口及其分類
電腦在Internet上相互通信需要使用TCP/IP協議,根據TCP/IP協議規定,電腦有256×256(65536)個端口,這些端口可分為TCP端口和UDP端口兩種。如果按照端口號劃分,它們又可以分為以下兩大類
1.系統保留端口(從0到1023)
這些端口不允許你使用,它們都有確切的定義,對應著因特網上常見的一些服務,每一個打開的此類端口,都代表一個系統服務,例如80端口就代表Web服務。21對應著FTP,25對應著SMTP、110對應著POP3等。
2.動態端口(從1024到65535)
當你需要與別人通信時,Windows會從1024起,在本機上分配一個動態端口,如果1024端口未關閉,再需要端口時就會分配1025端口供你使用,依此類推。
但是有個別的系統服務會綁定在1024到49151的端口上,例如3389端口(遠程終端服務)。從49152到65535這一段端口,通常沒有捆綁系統服務,允許Windows動態分配給你使用。
二、如何查看本機開放了哪些端口
在默認狀態下,Windows會打開很多“服務端口”,如果你想查看本機打開了哪些端口、有哪些電腦正在與本機連接,可以使用以下兩種方法。
1.利用netstat命令
Windows提供了netstat命令,能夠顯示當前的 TCP/IP 網絡連接情況,注意:只有安裝了TCP/IP協議,才能使用netstat命令。
操作方法:單擊“開始→程序→附件→命令提示符”,進入Dos窗口,輸入命令 netstat -na 回車,于是就會顯示本機連接情況及打開的端口。其中Local Address代表本機IP地址和打開的端口號(圖中本機打開了135端口),Foreign Address是遠程計算機IP地址和端口號,State表明當前TCP的連接狀態,圖中LISTENING是監聽狀態,表明本機正在打開135端口監聽,等待遠程電腦的連接。
如果你在DOS窗口中輸入了netstat -nab命令,還將顯示每個連接都是由哪些程序創建的。上圖2中本機在135端口監聽,就是由svchost.exe程序創建的,該程序一共調用了5個組件(WS2_32.dll、RPCRT4.dll、rpCSS.dll、svchost.exe、ADVAPI32.dll)來完成創建工作。如果你發現本機打開了可疑的端口,就可以用該命令察看它調用了哪些組件,然后再檢查各組件的創建時間和修改時間,如果發現異常,就可能是中了木馬。
2.使用端口監視類軟件
與netstat命令類似,端口監視類軟件也能查看本機打開了哪些端口,這類軟件非常多,著名的有TcpvIEw、Port Reporter、綠鷹PC萬能精靈、網絡端口查看器等,推薦你上網時啟動Tcpview,密切監視本機端口連接情況,這樣就能嚴防非法連接,確保自己的網絡安全.
三、關閉本機不用的端口
默認情況下Windows有很多端口是開放的,一旦你上網,黑客可以通過這些端口連上你的電腦,因此你應該封閉這些端口。主要有:TCP139、445、593、1025 端口和 UDP123、137、138、445、1900端口、一些流行病毒的后門端口(如 TCP 2513、2745、3127、6129 端口),以及遠程服務訪問端口3389。關閉的方法是
①137、138、139、445端口:它們都是為共享而開放的,你應該禁止別人共享你的機器,所以要把這些端口全部關閉,方法是:單擊“開始→控制面板→系統→硬件→設備管理器”,單擊“查看”菜單下的“顯示隱藏的設備”,雙擊“非即插即用驅動程序”,找到并雙擊NetBios over Tcpip,在打開的“NetBios over Tcpip屬性”窗口中,單擊選中“常規”標簽下的“不要使用這個設備(停用)”,單擊“確定”按鈕后重新啟動后即可。
②關閉UDP123端口:單擊“開始→設置→控制面板”,雙擊“管理工具→服務”,停止Windows Time服務即可。關閉UDP 123端口,可以防范某些蠕蟲病毒。
③關閉UDP1900端口:在控制面板中雙擊“管理工具→服務”,停止SSDP Discovery Service 服務即可。關閉這個端口,可以防范DDos攻擊。
④其他端口:你可以用網絡防火墻來關閉,或者在“控制面板”中,雙擊“管理工具→本地安全策略”,選中“IP 安全策略,在本地計算機”,創建 IP 安全策略來關閉。
四、重定向本機默認端口,保護系統安全
如果本機的默認端口不能關閉,你應該將它“重定向”。把該端口重定向到另一個地址,這樣即可隱藏公認的默認端口,降低受破壞機率,保護系統安全。
例如你的電腦上開放了遠程終端服務(Terminal Server)端口(默認是3389),可以將它重定向到另一個端口(例如1234),方法是
1.在本機上(服務器端)修改
定位到下列兩個注冊表項,將其中的 PortNumber,全部改成自定義的端口(例如1234)即可
2.在客戶端上修改
依次單擊“開始→程序→附件→通訊→遠程桌面連接”,打開“遠程桌面連接”窗口,
杭州代開發票單擊“選項”按鈕擴展窗口,填寫完相關參數后,單擊“常規”下的“另存為”按鈕,將該連接參數導出為.rdp文件。用記事本打開該文件,在文件最后添加一行:server port:i:1234 (這里填寫你服務器自定義的端口)。以后,直接雙擊這個.rdp 文件即可連接到服務器的這個自定義端口了。,