在網絡技術中,端口(Port)大體有兩種意思:一是物理意義上的端口,好比,ADSL Modem、集線器、交換機、路由器用於鏈接其餘網絡設備的接口,如RJ-45端口、SC端口等等。二是邏輯意義上的端口,通常是指TCP/IP協議中的端口,端口號的範圍從0到65535,好比用於瀏覽網頁服務的80端口,用於FTP服務的21端口等等。咱們這裏將要介紹的就是邏輯意義上的端口。
那麼TCP/IP協議中的端口指的是什麼呢?若是把IP地址比做一間房子 ,端口就是出入這間房子的門。真正的房子只有幾個門,可是一個IP地址的端口 能夠有65536個之多!端口是經過端口號來標記的,端口號只有整數,範圍是從0 到65535。
端口有什麼用呢?咱們知道,一臺擁有IP地址的主機能夠提供許多服務,好比Web服務、FTP 服務、SMTP服務等,這些服務徹底能夠經過1個IP地址來實現。那麼,主機是怎樣區分不一樣的網絡服務呢?顯然不能只靠IP地址,由於IP 地址與網絡服務的關係是一對多的關係。其實是經過「IP地址+端口號」來區 分不一樣的服務的。
須要注意的是,端口並非一一對應的。好比你的電腦做爲客戶機訪 問一臺WWW服務器時,WWW服務器使用「80」端口與你的電腦通訊,但你的電腦則 可能使用「3457」這樣的端口。php
邏輯意義上的端口有多種分類標準,下面將介紹常見的按端口號分佈的分類:
(1)知名端口(Well-Known Ports)
知名端口即衆所周知的端口號,範圍從0到1023,這些端口號通常固定分配給一些服務。好比21端口分配給FTP(文件傳輸協議)服務,25端口分配給SMTP(簡單郵件傳輸協議)服務,80端口分配給HTTP服務,135端口分配給RPC(遠程過程調用)服務等等。
網絡服務是可使用其餘端口號的,若是不是默認的端口號則應該在 地址欄上指定端口號,方法是在地址後面加上冒號「:」(半角),再加上端口 號。好比使用「8080」做爲WWW服務的端口,則須要在地址欄裏輸入「[url]www.cce.com.cn:8080[/url]」。
可是有些系統協議使用固定的端口號,它是不能被改變的,好比139 端口專門用於NetBIOS與TCP/IP之間的通訊,不能手動改變。
(2)動態端口(Dynamic Ports)
動態端口的範圍從1024到65535,這些端口號通常不固定分配給某個服務,也就是說許多服務均可以使用這些端口。只要運行的程序向系統提出訪問網絡的申請,那麼系統就能夠從這些端口號中分配一個供該程序使用。好比1024端口就是分配給第一個向系統發出申請的程序。在關閉程序進程後,就會釋放所佔用的端口號。
不過,動態端口也經常被病毒***程序所利用,如冰河默認鏈接端口是762六、WAY 2.4是80十一、Netspy 3.0是730六、YAI病毒是1024等 。服務器
一臺服務器有大量的端口在使用,怎麼來查看端口呢?有兩種方式: 一種是利用系統內置的命令,一種是利用第三方端口掃描軟件。
1.用「netstat -an」查看端口狀態
在Windows 2000/XP中,能夠在命令提示符下使用「netstat -an」查 看系統端口狀態,能夠列出系統正在開放的端口號及其狀態.
2.用第三方端口掃描軟件
第三方端口掃描軟件有許多,界面雖然千差萬別,可是功能倒是相似 的。這裏以「Fport」 (可到[url]http://www.ccert.edu.cn/tools/index.php?type_t=7[/url]或[url]http://www.cci[/url] dnet.com/soft/cce下載)爲例講解。「Fport」在命令提示符下使用,運行結果 與「netstat -an」類似,可是它不只可以列出正在使用的端口號及類型,還可 以列出端口被哪一個應用程序使用。
3.用「netstat -n」命令,以數字格式顯示地址和端口信息。網絡