計算機端口是是計算機與外界通訊交流的出口。其中硬體領域的端口又稱接口,如:USB端口、串行端口等。軟體領域是指各主機間通過TCP/UDP等協定發送和接收資料報,各個資料報根據其目的主機的ip位址來進行網際網路絡中的路由選擇。但是大多數作業系統都支援多程式(程序)同時運作,端口号就保證了目的主機将資料傳送給指定的程序指網絡中面向連接配接服務和無連接配接服務的通信協定端口,是一種抽象的軟體結構。
端口其實就是隊,作業系統為各個程序配置設定了不同的隊,資料報按照目的端口被推入相應的隊中,等待被程序取用,在極特殊的情況下,這個隊也是有可能溢出的,不過作業系統允許各程序指定和調整自己的隊的大小。
端口的分類
在Internet上,按照協定類型分類,端口被分為TCP端口和UDP端口兩類,雖然他們都用正整數辨別,但這并不會引起歧義,比如TCP的80端口和UDP的80端口,因為資料報在标明端口的同時,還将标明端口的類型。
從端口的配置設定來看,端口被分為固定端口和動态端口兩大類(一些教程還将極少被用到的高端口劃分為第三類:私有端口)
固定端口(0-1023)
使用集中式管理機制,即服從一個管理機構對端口的指派,這個機構負責釋出這些指派。由于這些端口緊綁于一些服務,是以我們會經常掃描這些端口來判斷對方 是否開啟了這些服務,如TCP的21(ftp)80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟 知的端口;
動态端口(1024-49151)
這些端口并不被固定的捆綁于某一服務,作業系統将這些端口動态的配置設定給各個程序, 同一程序兩次配置設定有可能配置設定到不同的端口。不過一些應用程式并不願意使用作業系統配置設定的動态端口,他們有其自己的‘商标性’端口,如oicq用戶端的 4000端口,木馬冰河的7626端口等都是固定而出名的。
私有端口(49152-65535)
理論上,不應為服務配置設定這些端口。實際上,機器通常從1024起配置設定動态端口。但也有例外:SUN的RPC端口從32768開始。
有效端口為:2^16 = 65536個
網路中常用的端口号
端口:0
服務:Reserved
端口:1
服務:tcpmux
說明:這顯示有人在尋找SGI Irix機器。Irix是實作tcpmux的主要提供者,預設情況下tcpmux在這種系統中被打開。Irix機器在釋出是含有幾個預設的無密碼的帳戶,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。許多管理者在安裝後忘記删除這些帳戶。是以HACKER在INTERNET上搜尋tcpmux并利用這些帳戶。
端口:7
服務:Echo
說明:能看到許多人搜尋Fraggle放大器時,發送到X.X.X.0和X.X.X.255
的資訊。
端口:19
服務:Character Generator
說明:這是一種僅僅發送字元的服務。UDP版本将會在收到UDP包後回應含有垃圾字元的包。TCP連接配接時會發送含有垃圾字元的資料流直到連接配接關閉。HACKER利用IP欺騙可以發動DoS攻擊。僞造兩個chargen伺服器之間的UDP包。同樣Fraggle DoS攻擊向目标位址的這個端口廣播一個帶有僞造受害者IP的資料包,受害者為了回應這些資料而過載。
端口:20、21
服務:FTP
說明:FTP伺服器所開放的端口,用于上傳、下載下傳。最常見的攻擊者用于尋找打開anonymous的FTP伺服器的方法。這些伺服器帶有可讀寫的目錄。木馬Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所開放的端口。
端口:22
服務:Ssh
說明:PcAnywhere建立的TCP和這一端口的連接配接可能是為了尋找ssh。這一服務有許多弱點,如果配置成特定的模式,許多使用RSAREF庫的版本就會有不少的漏洞存在。
端口:23
服務:Telnet
說明:遠端登入,入侵者在搜尋遠端登入UNIX的服務。大多數情況下掃描這一端口是為了找到機器運作的作業系統。還有使用其他技術,入侵者也會找到密碼。木馬Tiny Telnet Server就開放這個端口。
端口:25
服務:SMTP
說明:SMTP伺服器所開放的端口,用于發送郵件。入侵者尋找SMTP伺服器是為了傳遞他們的SPAM。入侵者的帳戶被關閉,他們需要連接配接到高帶寬的E-MAIL伺服器上,将簡單的資訊傳遞到不同的位址。木馬Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開放這個端口。
端口:31
服務:MSG Authentication
說明:木馬Master Paradise、Hackers Paradise開放此端口。
端口:42
服務:WINS Replication
說明:WINS複制
端口:53
服務:Domain Name Server(DNS)
說明:DNS伺服器所開放的端口,入侵者可能是試圖進行區域傳遞(TCP),欺騙DNS(UDP)或隐藏其他的通信。是以防火牆常常過濾或記錄此端口。
端口:67
服務:Bootstrap Protocol Server
說明:通過DSL和Cable modem的防火牆常會看見大量發送到廣播位址255.255.255.255的資料。這些機器在向DHCP伺服器請求一個位址。HACKER常進入它們,配置設定一個位址把自己作為局部路由器而發起大量中間人(man-in-middle)攻擊。用戶端向68端口廣播請求配置,伺服器向67端口廣播回應請求。這種回應使用廣播是因為用戶端還不知道可以發送的IP位址。
端口:69
服務:Trival File Transfer
說明:許多伺服器與bootp一起提供這項服務,便于從系統下載下傳啟動代碼。但是它們常常由于錯誤配置而使入侵者能從系統中竊取任何 檔案。它們也可用于系統寫入檔案。
端口:79
服務:Finger Server
說明:入侵者用于獲得使用者資訊,查詢作業系統,探測已知的緩沖區溢出錯誤,回應從自己機器到其他機器Finger掃描。
端口:80
服務:HTTP
說明:用于網頁浏覽。木馬Executor開放此端口。
端口:88
說明:Kerberos krb5。另外TCP的88端口也是這個用途。
端口:99
服務:Metagram Relay
說明:後門程式ncx99開放此端口。
端口:102
服務:Message transfer agent(MTA)-X.400 over TCP/IP
說明:消息傳輸代理。
端口:109
服務:Post Office Protocol -Version3
說明:POP3伺服器開放此端口,用于接收郵件,用戶端通路伺服器端的郵件服務。POP3服務有許多公認的弱點。關于使用者名和密碼交 換緩沖區溢出的弱點至少有20個,這意味着入侵者可以在真正登陸前進入系統。成功登陸後還有其他緩沖區溢出錯誤。
端口:110
服務:SUN公司的RPC服務所有端口
說明:常見RPC服務有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等 。
端口:113
服務:Authentication Service
說明:這是一個許多計算機上運作的協定,用于鑒别TCP連接配接的使用者。使用标準的這種服務可以獲得許多計算機的資訊。但是它可作為許多服務的記錄器,尤其是FTP、POP、IMAP、SMTP和IRC等服務。通常如果有許多客戶通過防火牆通路這些服務,将會看到許多這個端口的連接配接請求。記住,如果阻斷這個端口用戶端會感覺到在防火牆另一邊與E-MAIL伺服器的緩慢連接配接。許多防火牆支援TCP連接配接的阻斷過程中發回RST。這将會停止緩慢的連接配接。
端口:119
服務:Network News Transfer Protocol
說明:NEWS新聞討論區傳輸協定,承載USENET通信。這個端口的連接配接通常是人們在尋找USENET伺服器。多數ISP限制,隻有他們的客戶才能通路他們的新聞討論區伺服器。打開新聞討論區伺服器将允許發/讀任何人的文章,通路被限制的新聞討論區伺服器,匿名發帖或發送SPAM。
端口:135
服務:Location Service
說明:Microsoft在這個端口運作DCE RPC end-point mapper為它的DCOM服務。這與UNIX 111端口的功能很相似。使用DCOM和RPC的服務利用計算機上的end-point mapper注冊它們的位置。遠端客戶連接配接到計算機時,它們查找end-point mapper找到服務的位置。HACKER掃描計算機的這個端口是為了找到這個計算機上運作Exchange Server嗎?什麼版本?還有些DOS攻擊直接針對這個端口。
端口:137、138、139
服務:NETBIOS Name Service
說明:其中137、138是UDP端口,當通過網路上的芳鄰傳輸檔案時用這個端口。而139端口:通過這個端口進入的連接配接試圖獲得NetBIOS/SMB服務。這個協定被用于windows檔案和列印機共享和SAMBA。還有WINS Regisrtation也用它。
那麼如此之多的端口我們怎麼檢視使用呢?
一台伺服器有大量的端口在使用
檢視端口有兩種方式:
(1) 利用系統内置的指令;
(2) 利用第三方端口掃描軟體。
1.用“netstat ”檢視端口狀态
在Windows 2000/XP中,可以在指令提示符下使用“netstat ”查 看系統端口狀态,可以列出系統正在開放的端口号及其狀态.。
2.用第三方端口掃描軟體
第三方端口掃描軟體有許多,界面雖然千差萬别,但是功能卻是類似 的。這裡以“Fport” (可到?type_t=7或下載下傳)為例講解。“Fport”在指令提示符下使用,運作結果 與“netstat -an”相似,但是它不僅能夠列出正在使用的端口号及類型,還可 以列出端口被哪個應用程式使用。
3.用“netstat -n”指令,以數字格式顯示位址和端口資訊。
如果仔細檢查這些标準的簡單服務以及其他标準的TCP/IP服務(如Telnet、FTP、 SMTP等)的端口号時,我們發現它們都是奇數。這是有曆史原因的,因為這些端口号都是從NCP端口号派生出來的(NCP,即網絡控制協定,是ARPANET的運輸層協定,是TCP的前身)。NCP是半雙工的,不是全雙工的,是以每個應用程式需要兩個連接配接,需預留一對奇數和偶數端口号。當TCP和UDP成為标準的運輸層協定時,每個應用程式隻需要一個端口号,是以就使用了NCP中的奇數