在網絡技術中,端口有兩種含義:壹種是物理端口,如ADSL調制解調器、集線器、交換機和路由器用來連接其他網絡設備的接口,如RJ-45端口和SC端口。二是邏輯端口,壹般指TCP/IP協議中的端口。端口號範圍從0到65535,比如瀏覽web服務的端口80,FTP服務的端口21等等。這裏要介紹的是邏輯端口。
港口分類
邏輯意義上的端口有很多分類標準,下面將介紹兩種常見的分類:
1.除以端口號分布
(1)知名端口
眾所周知的端口是從0到1023的眾所周知的端口號,這些端口號壹般被分配給壹些服務。比如端口21分配給FTP服務,端口25分配給SMTP(簡單郵件傳輸協議)服務,端口80分配給HTTP服務,端口135分配給RPC(遠程過程調用)服務等等。
(2)動態端口。
動態端口的範圍從1024到65535,這些端口號壹般不會固定到壹個服務上,這意味著很多服務都可以使用這些端口。只要正在運行的程序請求系統訪問網絡,系統就可以分配這些端口號中的壹個給該程序使用。例如,端口1024被分配給第壹個向系統發送應用程序的程序。關閉程序進程後,被占用的端口號將被釋放。
但是動態端口經常被病毒木馬使用,比如冰川的默認連接端口是7626,WAY 2.4是8011,Netspy 3.0是7306,YAI病毒是1024。
2.根據協議類型。
按協議類型可分為TCP、UDP、IP和ICMP(互聯網控制消息協議)端口。下面主要介紹TCP和UDP端口:
(1)TCP端口
TCP端口,傳輸控制協議端口,需要在客戶端和服務器之間建立連接,能夠提供可靠的數據傳輸。常見的有FTP服務的21端口、Telnet服務的23端口、SMTP服務的25端口、HTTP服務的80端口等。
(2)UDP端口
UDP端口,即用戶數據報協議端口,不需要在客戶端和服務器之間建立連接,安全性無法保證。常見的有DNS服務的端口53,SNMP服務的端口161,QQ使用的端口8000和4000等等。
端口映射功能允許內部網絡中的機器向外部提供WWW服務,而不是將真實的IP地址直接傳送給內部提供WWW服務的主機。如果是這樣,有兩個隱藏的目的。壹是內部機器不安全,因為外網可以通過地址翻譯功能訪問本機除WWW以外的所有功能;第二,當有多臺機器需要提供這項服務時,必須有盡可能多的IP地址進行轉換,從而無法達到節省IP地址的目的。端口映射的作用是將壹個主機的假IP地址映射到壹個真實的IP地址。當用戶訪問提供映射端口的主機的端口時,服務器會將請求傳送到提供該特定服務的主機。端口映射功能還可以將壹個真實IP地址機器的多個端口映射到不同內部機器上的不同端口。端口映射功能還可以完成壹些特定的代理功能,比如代理POP、SMTP、TELNET等協議。理論上可以提供6萬多個端口映射,恐怕我們永遠用不完。
在互聯網上,每個主機通過TCP/TP協議發送和接收數據報,每個數據報根據其目的主機的ip地址進行路由。可以看出,向目的主機成功發送數據報沒有任何問題。有什麽問題?我們知道大多數操作系統都支持多個程序(進程)同時運行,那麽目的主機應該將收到的數據報發送給哪個進程呢?顯然,這個問題需要解決,所以引入了端口機制。
本地操作系統將把協議端口分配給那些需要它們的進程,每個協議端口由壹個正整數標識,如80,139,445等等。目的主機收到數據報後,會根據報文頭的目的端口號將數據發送到相應的端口,該端口對應的進程接收數據,等待下壹組數據的到來。說到這裏,港口這個概念還是顯得比較抽象,繼續跟著我,不要走開。
端口實際上是隊列。操作系統為每個進程分配不同的隊列。數據報根據目的端口被推入相應的隊列,等待被進程訪問。在極其特殊的情況下,這個隊列可能會溢出,但是操作系統允許每個進程指定和調整自己的隊列大小。
不僅接收數據報的過程需要打開自己的端口,發送數據報的過程也需要打開端口,這樣數據報中就會標識出活動端口,這樣接收方就可以成功地將數據報返回到這個端口。
港口分類:
在互聯網上,根據協議類型,端口分為兩類:TCP端口和UDP端口。雖然都是用正整數來標識,但這不會造成歧義,比如TCP端口80和UDP端口80,因為數據報會同時指明端口類型。
端口分配方面,端口分為固定端口和動態端口兩類(有些教程還把很少使用的高端口分為第三類:私有端口):
固定端口(0-1023):
使用集中管理機制,即服從壹個管理組織對端口的分配,該管理組織負責發布這些分配。因為這些端口綁定了壹些服務,所以我們會經常掃描這些端口來判斷對方是否啟動了這些服務,比如TCP的21(ftp)、80(bios)、UDP的7(echo)、69(tftp)等眾所周知的端口。
動態端口(1024-49151):
這些端口並不固定在壹個服務上,操作系統動態地將這些端口分配給每個進程,同壹個進程可能被分配給不同的端口兩次。但是,有些應用程序不想使用操作系統分配的動態端口。他們有自己的‘商標’端口,比如oicq客戶端的4000端口,特洛伊冰川的7626端口,這些端口都是固定的,很有名。
端口在入侵中的作用;
有人曾經把服務器比作壹棟房子,把端口比作壹扇通向不同房間(服務)的門,如果不考慮細節,這個比喻很好。如果壹個入侵者想要占據這個房子,必然會破門而入(物理入侵是另外壹個詞),所以入侵者很重要的壹點就是要知道這個房子開了多少扇門,是什麽樣的門,門後面是什麽。
入侵者通常使用掃描儀掃描目標主機的端口,以確定哪些端口是開放的。從開放的端口,入侵者可以知道目標主機提供什麽服務,進而猜測可能存在的漏洞。因此,掃描端口可以幫助我們更好地了解目標主機。對於管理員來說,掃描本機開放的端口也是做好安全防範的第壹步。
常用端口介紹
由於本人知識有限,這裏只介紹壹些簡單的內容。
1)21
這個端口的開放意味著服務器提供FTP服務。入侵者通常會掃描這個端口,判斷是否允許匿名登錄。如果他們可以找到壹個可寫的目錄,他們就可以上傳壹些黑客程序進行進壹步的入侵。要關閉此端口,您需要關閉FTP服務。
2)23遠程登錄
打開此端口意味著服務器提供遠程登錄服務。如果您有管理員的用戶名和密碼,您可以通過此服務完全控制主機(但您必須首先獲得NTLM認證)並在命令行下獲得壹個shell。許多入侵者喜歡將此服務作為後門打開。要關閉此端口,您需要關閉Telnet服務。
3)25 smtp
這個端口的開放意味著服務器提供SMTP服務。壹些不支持身份驗證的服務器允許入侵者向任何地方發送郵件。SMTP服務器(尤其是Sendmail)也是最常用的進入系統的方法之壹。要關閉此端口,需要關閉SMTP服務。
4)69 TFTP(民主黨)
打開此端口意味著服務器提供TFTP服務,允許從服務器下載文件和寫入文件。如果管理員配置錯誤,入侵者甚至可以下載密碼文件。很多入侵者通過在自己的機器上運行該服務,將文件傳輸到目標機器上,從而實現文件傳輸。要關閉此端口,需要關閉TFTP服務。
5)79指
用於獲取用戶信息,查詢操作系統,檢測已知的緩沖區溢出錯誤,響應從自己機器到其他機器的手指掃描。
6)80統計安
的確,這不是壹個工具,但它是查看您已經打開的端口的最方便的方式。只需在cmd中輸入這個命令。如下所示:
c:\ & gt;網絡統計數據庫
活動連接
原始本地地址外部地址狀態
TCP 0.0.0.0:135 0.0.0.0:0偵聽
TCP 0.0.0.0:445 0.0.0.0:0監聽
TCP 0.0.0.0:1025 0.0.0.0:0偵聽
TCP 0.0.0.0:1026 0.0.0.0:0監聽
TCP 0.0.0.0:1028 0.0.0.0:0監聽
TCP 0.0.0.0:3372 0.0.0.0:0偵聽
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1027 *:*
UDP 127 . 0 . 0 . 1:1029 *:*
UDP 127 . 0 . 0 . 1:1030 *:*
這是我不上網的時候機器開的端口。兩個端口135和445是固定端口,其他是動態端口。
Fport.exe和mport.exe。
這也是壹個在兩個命令行下查看本地機器開放端口的小程序。其實和netstat -an差不多,只不過可以用更多的信息顯示打開端口的過程。如果妳懷疑妳的奇怪港口可能是特洛伊馬,檢查它與他們。
3 activeport.exe(又名aports.exe)
它還用於查看本地機器的開放端口。除了上述兩個程序的所有功能外,它還有兩個更吸引人的特性:圖形界面和關閉端口的能力。這對於新手來說是絕對有用的東西,推薦使用。
4超級掃描3.0
妳沒聽說過它的名字吧?純端口掃描軟件中的1號速度快,可以指定掃描端口。不用說,這是壹個絕對必要的工具。
保護您的端口:
剛接觸網絡的朋友,壹般對自己的端口都很敏感。他們總是害怕自己的電腦開太多端口,更害怕會有後門程序的端口。但是因為對端口不是很熟悉,沒有解決方案,所以不敢上網。其實保護自己的端口並沒有那麽難,只要做到以下幾點就可以了:
1檢查:經常用命令或軟件檢查本地開放的端口,看是否有可疑端口;
2.判斷:如果對打開的端口不熟悉,應立即查閱端口百科或木馬常用端口(網上有很多)等資料,查看其中對妳的可疑端口的作用描述,或通過軟件查看打開此端口的過程進行判斷;
3關閉:如果它是壹個特洛伊端口或者數據中沒有這個端口的描述,那麽這個端口應該關閉。可以用防火墻屏蔽這個端口,也可以用本地連接-TCP/IP-高級-選項-TCP/IP過濾端口,啟用過濾機制。