網路埠
網路埠
在網路技術中,埠(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開始。
一些埠常常會被黑客利用,還會被一些木馬病毒利用,對計算機系統進行攻擊,以下是計算機埠的介紹以及防止被黑客攻擊的簡要辦法。
埠: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等
埠: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也用它。
埠:161
服務:SNMP
說明:SNMP允許遠程管理設備。所有配置和運行信息的儲存在資料庫中,通過SNMP可獲得這些信息。許多管理員的錯誤配置將被暴露在Internet。Cackers將試圖使用默認的密碼public、private訪問系統。他們可能會試驗所有可能的組合。SNMP包可能會被錯誤的指向用戶的網路
埠:177
服務:X Display Manager Control Protocol
說明:許多入侵者通過它訪問X-windows操作台,它同時需要打開6000埠。
埠: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都開放這個埠。
埠:389
服務:LDAP、ILS
說明:輕型目錄訪問協議和NetMeeting Internet Locator Server共用這一埠。
埠:443
服務:Https
說明:網頁瀏覽埠,能提供加密和通過安全埠傳輸的另一種HTTP。
埠:456
服務:[NULL]
說明:木馬HACKERS PARADISE開放此埠。
埠:513
服務:Login,remote login
說明:是從使用cable modem或DSL登陸到子網中的UNIX計算機發出的廣播。這些人為入侵者進入他們的系統提供了信息。
埠:544
服務:[NULL]
說明:kerberos kshell
埠:548
服務:Macintosh,File Services(AFP/IP)
說明:Macintosh,文件服務。
埠:553
服務:CORBA IIOP (UDP)
說明:使用cable modem、DSL或VLAN將會看到這個埠的廣播。CORBA是一種面向對象的RPC系統。入侵者可以利用這些信息進入系統。
埠:555
服務:DSF
說明:木馬PhAse1.0、Stealth Spy、IniKiller開放此埠。
埠:568
服務:Membership DPA
說明:成員資格 DPA。
埠:569
服務:Membership MSN
說明:成員資格 MSN。
埠:635
服務:mountd
說明:Linux的mountd Bug。這是掃描的一個流行BUG。大多數對這個埠的掃描是基於UDP的,但是基於TCP的mountd有所增加(mountd同時運行於兩個埠)。記住mountd可運行於任何埠(到底是哪個埠,需要在埠111做portmap查詢),只是Linux默認埠是635,就像NFS通常運行於2049埠。
埠:636
服務:LDAP
說明:SSL(Secure Sockets layer)
埠:666
服務:Doom Id Software
說明:木馬Attack FTP、Satanz Backdoor開放此埠。
埠:80
服務:HTTP
說明:用於網頁瀏覽。木馬Executor開放此埠。
埠漏洞:8080埠可以被各種病毒程序所利用,比如Brown Orifice(BrO)特洛伊木馬病毒可以利用8080埠完全遙控被感染的計算機。另外,RemoConChubo,RingZero木馬也可以利用該埠進行攻擊。
操作建議:一般我們是使用80埠進行網頁瀏覽的,為了避免病毒的攻擊,我們可以關閉該埠。
埠:993
服務:IMAP
說明:SSL(Secure Sockets layer)
埠:1001、1011
服務:[NULL]
說明:木馬Silencer、WebEx開放1001埠。木馬Doly Trojan開放1011埠。
埠:1024
服務:Reserved
說明:它是動態埠的開始,許多程序並不在乎用哪個埠連接網路,它們請求系統為它們分配下一個閑置埠。基於這一點分配從埠1024開始。這就是說第一個向系統發出請求的會分配到1024埠。你可以重啟機器,打開Telnet,再打開一個窗口運行netstat -a 將會看到Telnet被分配1024埠。還有SQL session也用此埠和5000埠。
埠:1025、1033
服務:1025:network blackjack 1033:[NULL]
說明:木馬netspy開放這2個埠。
埠:1080
服務:SOCKS
說明:這一協議以通道方式穿過防火牆,允許防火牆後面的人通過一個IP地址訪問INTERNET。理論上它應該只允許內部的通信向外到達INTERNET。但是由於錯誤的配置,它會允許位於防火牆外部的攻擊穿過防火牆。WinGate常會發生這種錯誤,在加入IRC聊天室時常會看到這種情況。
埠:1170
服務:[NULL]
說明:木馬Streaming Audio Trojan、Psyber Stream Server、Voice開放此埠。
埠:1234、1243、6711、6776
服務:[NULL]
說明:木馬SubSeven2.0、Ultors Trojan開放1234、6776埠。木馬SubSeven1.0/1.9開放1243、6711、6776埠。
埠:1245
服務:[NULL]
說明:木馬Vodoo開放此埠。
埠:1433
服務:SQL
說明:Microsoft的SQL服務開放的埠。
埠:1492
服務:stone-design-1
說明:木馬FTP99CMP開放此埠。
埠:1500
服務:RPC client fixed port session queries
說明:RPC客戶固定埠會話查詢
埠:1503
服務:NetMeeting T.120
說明:NetMeeting T.120
埠:1524
服務:ingress
說明:許多攻擊腳本將安裝一個後門SHELL於這個埠,尤其是針對SUN系統中Sendmail和RPC服務漏洞的腳本。如果剛安裝了防火牆就看到在這個埠上的連接企圖,很可能是上述原因。可以試試Telnet到用戶的計算機上的這個埠,看看它是否會給你一個SHELL。連接到600/pcserver也存在這個問題。
埠:1600
服務:issd
說明:木馬Shivka-Burka開放此埠。
埠:1720
服務:NetMeeting
說明:NetMeeting H.233 call Setup。
埠:1731
服務:NetMeeting Audio Call Control
說明:NetMeeting音頻調用控制。
埠:1807
服務:[NULL]
說明:木馬SpySender開放此埠。
埠:1981
服務:[NULL]
說明:木馬ShockRave開放此埠。
埠:1999
服務:cisco identification port
說明:木馬BackDoor開放此埠。
埠:2000
服務:[NULL]
說明:木馬GirlFriend 1.3、Millenium 1.0開放此埠。
埠:2001
服務:[NULL]
說明:木馬Millenium 1.0、Trojan Cow開放此埠。
埠:2023
服務:xinuexpansion 4
說明:木馬Pass Ripper開放此埠。
埠:2049
服務:NFS
說明:NFS程序常運行於這個埠。通常需要訪問Portmapper查詢這個服務運行於哪個埠。
埠:2115
服務:[NULL]
說明:木馬Bugs開放此埠。
埠:2140、3150
服務:[NULL]
說明:木馬Deep Throat 1.0/3.0開放此埠。
埠:2500
服務:RPC client using a fixed port session replication
說明:應用固定埠會話複製的RPC客戶
埠:2583
服務:[NULL]
說明:木馬Wincrash 2.0開放此埠。
埠:2801
服務:[NULL]
說明:木馬Phineas Phucker開放此埠。
埠:3024、4092
服務:[NULL]
說明:木馬WinCrash開放此埠。
埠:3128
服務:squid
說明:這是squid HTTP代理伺服器的默認埠。攻擊者掃描這個埠是為了搜尋一個代理伺服器而匿名訪問Internet。也會看到搜索其他代理伺服器的埠8000、8001、8080、8888。掃描這個埠的另一個原因是用戶正在進入聊天室。其他用戶也會檢驗這個埠以確定用戶的機器是否支持代理。
埠:3129
服務:[NULL]
說明:木馬Master Paradise開放此埠。
埠:3150
服務:[NULL]
說明:木馬The Invasor開放此埠。
埠:3210、4321
服務:[NULL]
說明:木馬SchoolBus開放此埠
埠:3333
服務:dec-notes
說明:木馬Prosiak開放此埠
埠:3389
服務:超級終端
說明:WINDOWS 2000終端開放此埠。
埠:3700
服務:[NULL]
說明:木馬Portal of Doom開放此埠
埠:3996、4060
服務:[NULL]
說明:木馬RemoteAnything開放此埠
埠:4000
服務:QQ客戶端
說明:騰訊QQ客戶端開放此埠。
埠:4092
服務:[NULL]
說明:木馬WinCrash開放此埠。
埠:4590
服務:[NULL]
說明:木馬ICQTrojan開放此埠。
埠:5000、5001、5321、50505 服務:[NULL]
說明:木馬blazer5開放5000埠。木馬Sockets de Troie開放5000、5001、5321、50505埠。
埠:5400、5401、5402
服務:[NULL]
說明:木馬Blade Runner開放此埠。
埠:5550
服務:[NULL]
說明:木馬xtcp開放此埠。
埠:5569
服務:[NULL]
說明:木馬Robo-Hack開放此埠。
埠:5632
服務:pcAnywere
在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篩選。