什麼是網絡端口?

在網絡技術中,端口 (Port) 大致有兩種意思:一是物理意義上的端口,比如,ADSL Modem、交換機、路由器用於連接其他網絡設備的接口,如 RJ-45 端口、SC 端口等等;二是邏輯意義上的端口,一般是指 TCP/IP 協議中的端口,端口號的範圍從 0 到 65535,比如用於瀏覽網頁服務的 80 端口,用於 FTP 服務的 21 端口等等。

軟硬件端口含義

計算機 “端口” 是英文 port 的義譯,可以認爲是計算機與外界通訊交流的出口。其中硬件領域的端口又稱接口,如:USB 端口、串行端口等。軟件領域的端口一般指網絡中面向連接服務和無連接服務的通信協議端口,是一種抽象的軟件結構,包括一些數據結構和 I/O(基本輸入輸出)緩衝區。

面向連接服務 TCP 協議和無連接服務 UDP 協議使用 16bits 端口號來表示和區別網絡中的不同應用程序,網絡層協議 IP 使用特定的協議號(TCP 6,UDP 17)來表示和區別傳輸層協議。

任何 TCP/IP 實現所提供的服務都是 1-1023 之間的端口號,這些端口號由 IANA 分配管理。其中,低於 255 的端口號保留用於公共應用;255 到 1023 的端口號分配給各個公司,用於特殊應用;對於高於 1023 的端口號,稱爲臨時端口號,IANA 未做規定。

常用的保留 TCP 端口號有:

HTTP 80,FTP 20/21,Telnet 23,SMTP 25,DNS 53 等。

常用的保留 UDP 端口號有:

DNS 53,BootP 67(server)/ 68(client),TFTP 69,SNMP 161 等。

每個 TCP 報文頭部都包含源端口號(source port)和目的端口號(destination port),用於標識和區分源端設備和目的端設備的應用進程。

在 TCP/IP 協議棧中,源端口號和目的端口號分別與源 IP 地址和目的 IP 地址組成套接字(socket),唯一的確定一條 TCP 連接。

相對於 TCP 報文,UDP 報文只有少量的字段:源端口號、目的端口號、長度、校驗和等,各個字段功能和 TCP 報文相應字段一樣。

下面以 TCP 報文爲例說明端口號的作用:

假設 PC1 向 PC2 發起 Telnet 遠程連接,其中目的端口號爲知名端口號 23,源端口號爲 1028。源端口號沒有特別的要求,只需保證該端口號在本機上是唯一的。

PC2 收到數據包後,根據目的端口爲 23 判斷出該數據包是 Telnet 數據包,將數據包轉發到上層 Telnet 協議。

端口分類

按端口號可分爲 3 大類:

(1)公認端口(Well Known Ports):從 0 到 1023,它們緊密綁定(binding)於一些服務。通常這些端口的通訊明確表明了某種服務的協議。例如:80 端口實際上總是 HTTP 通訊。

(2)註冊端口(Registered Ports):從 1024 到 49151。它們鬆散地綁定於一些服務。也就是說有許多服務綁定於這些端口,這些端口同樣用於許多其它目的。例如:許多系統處理動態端口從 1024 左右開始。

(3)動態和 / 或私有端口(Dynamic and/or Private Ports):從 49152 到 65535。理論上,不應爲服務分配這些端口。實際上,機器通常從 1024 起分配動態端口。但也有例外:SUN 的 RPC 端口從 32768 開始。

常用網絡端口及其作用

端口:0

服務:Reserved

說明:通常用於分析操作系統。這一方法能夠工作是因爲在一些系統中 “0” 是無效端口,當你試圖使用通常的閉合端口連接它時將產生不同的結果。一種典型的掃描,使用 IP 地址爲 0.0.0.0,設置 ACK 位並在以太網層廣播。

端口: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 的數據包,受害者爲了迴應這些數據而過載。

端口: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 開放此端口。

端口: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 攻擊直接針對這個端口。

如何查看端口

在 Windows 2000/XP/Server 2003 中要查看端口,可以使用 NETSTAT 命令:“開始 ">" 運行”>“cmd”,打開命令提示符窗口。在命令提示符狀態下鍵入 “NETSTAT -a -n”,按下回車鍵後就可以看到以數字形式顯示的 TCP 和 UDP 連接的端口號及狀態. 命令格式:Netstat ?-a? ?-e? ?-n? ?-o? ?-s?-a 表示顯示所有活動的 TCP 連接以及計算機監聽的 TCP 和 UDP 端口。-e 表示顯示以太網發送和接收的字節數、數據包數等。-n 表示只以數字形式顯示所有活動的 TCP 連接的地址和端口號。-o 表示顯示活動的 TCP 連接幷包括每個連接的進程 ID(PID)。-s 表示按協議顯示各種連接的統計信息,包括端口號。

如何關閉端口

比如在 Windows 2000/XP 中關閉 SMTP 服務的 25 端口,可以這樣做:首先打開 “控制面板”,雙擊“管理工具”,再雙擊“服務”。接着在打開的服務窗口中找到並雙擊“Simple Mail Transfer Protocol (SMTP)” 服務,單擊 “停止” 按鈕來停止該服務,然後在 “啓動類型” 中選擇 “已禁用”,最後單擊“確定” 按鈕即可。這樣,關閉了 SMTP 服務就相當於關閉了對應的端口。

如何開啓端口

如果要開啓該端口只要先在 “啓動類型” 選擇 “自動”,單擊“確定” 按鈕,再打開該服務,在 “服務狀態” 中單擊 “啓動” 按鈕即可啓用該端口,最後,單擊 “確定” 按鈕即可。另外在網絡連接屬性中,選擇 “TCP/IP 協議” 屬性,打開高級 TCP/IP 設置,在選項的那個頁面打開 TCP/IP 篩選,在出現的設置窗口中也可以根據實現情況設置端口的打開和關閉,默認是未啓用 TCP/IP 篩選。

網絡技術平臺 混跡網絡行業 10 餘年,現爲世界 50 強金融科技公司網絡專家。分享計算機網絡知識,讓學習變得更有趣,讓網絡變得更簡單。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/CY_7d1gUMNZ3tINkwar2wQ