socket幾種連線方式簡介及埠介紹
以下是原文:
一、埠簡介
隨著計算機網路技術的發展,原來物理上的介面(如鍵盤、滑鼠、網絡卡、顯示卡等輸入/輸出介面)已不能滿足網路通訊的要求,TCP/IP協議作為網路通訊的標準協議就解決了這個通訊難題。TCP/IP協議整合到作業系統的核心中,這就相當於在作業系統中引入了一種新的輸入/輸出介面技術,因為在TCP/IP協議中引入了一種稱之為Socket(套接字)應用程式介面。有了這樣一種介面技術,一臺計算機就可以通過軟體的方式與任何一臺具有Socket介面的計算機進行通訊。埠在計算機程式設計上也就是Socket介面。
有了這些埠後,這些埠又是如何工作呢?例如一臺伺服器為什麼可以同時是Web伺服器,也可以是FTP伺服器,還可以是郵件伺服器等等呢?其中一個很重要的原因是各種服務採用不同的埠分別提供不同的服務,比如:通常TCP/IP協議規定Web採用80號埠,FTP採用21號埠等,而郵件伺服器是採用25號埠。這樣,通過不同埠,計算機就可以與外界進行互不干擾的通訊。
據專家們分析,伺服器埠數最大可以有65535個,但是實際上常用的端口才幾十個,由此可以看出未定義的埠相當多。這是那麼多黑客程式都可以採用某種方法,定義出一個特殊的埠來達到入侵的目的的原因所在。為了定義出這個埠,就要依靠某種程式在計算機啟動之前自動載入到記憶體,強行控制計算機開啟那個特殊的埠。這個程式就是後門程式,這些後門程式就是常說的木馬程式。簡單的說,這些木馬程式在入侵前是先通過某種手段在一臺個人計算機中植入一個程式,開啟某個(些)特定的埠,俗稱後門(BackDoor),使這臺計算機變成一臺開放性極高(使用者擁有極高許可權)的FTP伺服器,然後從後門就可以達到侵入的目的。
二、埠的分類
埠的分類根據其參考物件不同有不同劃分方法,如果從埠的性質來分,通常可以分為以下三類:
(1)公認埠(Well Known
Ports):這類埠也常稱之為常用埠。這類埠的埠號從0到1024,它們緊密綁定於一些特定的服務。通常這些埠的通訊明確表明了某種服務的協議,這種埠是不可再重新定義它的作用物件。例如:80埠實際上總是HTTP通訊所使用的,而23號埠則是Telnet服務專用的。這些埠通常不會像木馬這樣的黑客程式利用。為了使大家對這些常用埠多一些認識,在本章後面將詳細把這些埠所對嬗Φ姆?窠?辛斜恚?└魑煥斫夂筒慰肌?
(2) 註冊埠(Registered Ports):埠號從1025到49151。它們鬆散地綁定於一些服務。也是說有許多服務綁定於這些埠,這些埠同樣用於許多其他目的。這些埠多數沒有明確的定義服務物件,不同程式可根據實際需要自己定義,如後面要介紹的遠端控制軟體和木馬程式中都會有這些埠的定義的。記住這些常見的程式埠在木馬程式的防護和查殺上是非常有必要的。常見木馬所使用的埠在後面將有詳細的列表。
(3) 動態和/或私有埠(Dynamic and/or Private
Ports):埠號從49152到65535
如果根據所提供的服務方式的不同,埠又可分為TCP協議埠和UDP協議埠兩種。因為計算機之間相互通訊一般採用這兩種通訊協議。前面所介紹的連線方式是一種直接與接收方進行的連線,傳送資訊以後,可以確認資訊是否到達,這種方式大多采用TCP協議;另一種是不是直接與接收方進行連線,只管把資訊放在網上發出去,而不管資訊是否到達,也就是前面所介紹的無連線方式。這種方式大多采用UDP協議,IP協議也是一種無連線方式。對應使用以上這兩種通訊協議的服務所提供的埠,也就分為TCP協議埠和UDP協議埠。
使用TCP協議的常見埠主要有以下幾種:
(1) FTP:定義了檔案傳輸協議,使用21埠。常說某某計算機開了FTP服務便是啟動了檔案傳輸服務。下載檔案,上傳主頁,都要用到FTP服務。
(2)Telnet:它是一種用於遠端登陸的埠,使用者可以以自己的身份遠端連線到計算機上,通過這種埠可以提供一種基於DOS模式下的通訊服務。如以前的BBS是純字元介面的,支援BBS的伺服器將23埠開啟,對外提供服務。
(3)SMTP:定義了簡單郵件傳送協議,現在很多郵件伺服器都用的是這個協議,用於傳送郵件。如常見的免費郵件服務中用的就是這個郵件服務埠,所以在電子郵件設定中常看到有這麼SMTP埠設定這個欄,伺服器開放的是25號埠。