計算機協議和端口

那麼TCP/IP協議中的端口指的是什麼呢?如果把IP地址比作一間房子 ,端口就是出入這間房子的門。真正的房子只有幾個門,但是一個IP地址的端口可以有65536個之多!端口是通過端口號來標記的,端口號只有整數,範圍是從0 到65535。

端口有什麼用呢?我們知道,一臺擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個 IP地址來實現。那麼,主機是怎樣區分不同的網絡服務呢?顯然不能只靠IP地址,因爲IP 地址與網絡服務的關係是一對多的關係。實際上是通過"IP地址+端口號"來區分不同的服務的。

端口可分爲3大類:

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

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

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

本節講述通常TCP/UDP端口掃描在防火牆記錄中的信息。記住:並不存在所謂ICMP端口。如果你對解讀ICMP數據感興趣,請參看本文的其它部分。

0

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

1 tcpmux

這顯示有人在尋找SGIIrix機器。Irix是實現tcpmux的主要提供者,缺省情況下tcpmux在這種系統中被打開。Iris機器在發佈時含有幾個缺省的無密碼的帳戶,如lp,guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。許多管理員安裝後忘記刪除這些帳戶。因此Hacker們在Internet上搜索tcpmux 並利用這些帳戶。

7 Echo

你能看到許多人們搜索Fraggle放大器時,發送到x.x.x.0和 x.x.x.255的信息。常見的一種DoS***是echo循環(echo-loop),***者僞造從一個機器發送到另一個UDP數據包,而兩個機器分別以它們最快的方式迴應這些數據包。(參見Chargen)另一種東西是由DoubleClick在詞端口建立的TCP連接。有一種產品叫做"Resonate Global Dispatch",它與DNS的這一端口連接以確定最近的路由。Harvest/squid cache將從3130端口發送UDP echo:"如果將cache的source_ping on選項打開,它將對原始主機的UDP echo端口迴應一個HIT reply。"這將會產生許多這類數據包。

11 sysstat

這是一種UNIX服務,它會列出機器上所有正在運行的進程以及是什麼啓動了這些進程。這爲***者提供了許多信息而威脅機器的安全,如暴露已知某些弱點或帳戶的程序。這與UNIX系統中"ps"命令的結果相似再說一遍:ICMP沒有端口,ICMP port 11通常是ICMP type=11

19 chargen

這是一種僅僅發送字符的服務。UDP版本將會在收到UDP包後迴應含有垃圾字符的包。TCP連接時,會發送含有垃圾字符的數據流知道連接關閉。 Hacker利用IP欺騙可以發動DoS***。僞造兩個chargen服務器之間的UDP包。由於服務器企圖迴應兩個服務器之間的無限的往返數據通訊一個 chargen和echo將導致服務器過載。同樣 fraggle DoS***向目標地址的這個端口廣播一個帶有僞造受害者IP的數據包,受害者爲了迴應這些數據而過載。

21 ftp

最常見的***者用於尋找打開"anonymous"的ftp服務器的方法。這些服務器帶有可讀寫的目錄。Hackers或Crackers利用這些服務器作爲傳送warez (私有程序) 和pr0n(故意拼錯詞而避免被搜索引擎分類)的節點。

22 ssh

PcAnywhere建立TCP和這一端口的連接可能是爲了尋找ssh。這一服務有許多弱點。如果配置成特定的模式,許多使用RSAREF庫的版本有不少漏洞。(建議在其它端口運行ssh)還應該注意的是ssh工具包帶有一個稱爲make-ssh-known-hosts的程序。它會掃描整個
域的ssh主機。你有時會被使用這一程序的人無意中掃描到。UDP(而不是TCP)與另一端的5632端口相連意味着存在搜索pcAnywhere的掃描。5632 (十六進制的0x1600)位交換後是0x0016(使進制的22)。

23 Telnet

***者在搜索遠程登陸UNIX的服務。大多數情況下***者掃描這一端口是爲了找到機器運行的操作系統。此外使用其它技術,***者會找到密碼。

25 smtp

***者(spammer)尋找SMTP服務器是爲了傳遞他們的spam。***者的帳戶總被關閉,他們需要撥號連接到高帶寬的e-mail服務器上,將簡單的信息傳遞到不同的地址。SMTP服務器(尤其是sendmail)是進入系統的最常用方法之一,因爲它們必須完整的暴露於Internet且郵件的路由是複雜的(暴露+複雜=弱點)。

53 DNS

Hacker或crackers可能是試圖進行區域傳遞(TCP),欺騙DNS(UDP)或隱藏其它通訊。因此防火牆常常過濾或記錄53端口。需要注意的是你常會看到53端口做爲UDP源端口。不穩定的防火牆通常允許這種通訊並假設這是對DNS查詢的回覆。Hacker常使用這種方法穿透防火牆。

67和68 Bootp和DHCP

UDP上的Bootp/DHCP:通過DSL和cable-modem 的防火牆常會看見大量發送到廣播地址255.255.255.255的數據。這些機器在向DHCP服務器請求一個地址分配。Hacker常進入它們分配一個地址把自己作爲局部路由器而發起大量的"中間人"(man-in-middle)***。客戶端向68端口(bootps)廣播請求配置,服務器向67端口(bootpc)廣播迴應請求。這種迴應使用廣播是因爲客戶端還不知道可以發送的IP地址。

69 TFTP(UDP)

許多服務器與bootp一起提供這項服務,便於從系統下載啓動代碼。但是它們常常錯誤配置而從系統提供任何文件,如密碼文件。它們也可用於向系統寫入文件。

79 finger Hacker

用於獲得用戶信息,查詢操作系統,探測已知的緩衝區溢出錯誤,迴應從自己機器到其它機器finger掃描。

98 linuxconf 這個程序提供linux

boxen的簡單管理。通過整合的HTTP服務器在98端口提供基於Web界面的服務。它已發現有許多安全問題。一些版本 setuidroot,信任局域網,在/tmp下建立Internet可訪問的文件,LANG環境變量有緩衝區溢出。此外因爲它包含整合的服務器,許多典型的HTTP漏洞可能存在(緩衝區溢出,歷遍目錄等)

109 POP2

並不象POP3那樣有名,但許多服務器同時提供兩種服務(向後兼容)。在同一個服務器上POP3的漏洞在POP2中同樣存在。

110 POP3

用於客戶端訪問服務器端的郵件服務。POP3服務有許多公認的弱點。關於用戶名和密碼交 換緩衝區溢出的弱點至少有20個(這意味着Hacker可以在真正登陸前進入系統)。成功登陸後還有其它緩衝區溢出錯誤。

111 sunrpc portmap rpcbind Sun RPC

PortMapper/RPCBIND。訪問portmapper是掃描系統查看允許哪些RPC服務的最早的一步。常見RPC服務有:rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。***者發現了允許的RPC服務將轉向提供 服務的特定端口測試漏洞。記住一定要記錄線路中的daemon, IDS, 或sniffer,你可以發現***者正使用什麼程序訪問以便發現到底發生了什麼。

113 Ident auth

這是一個許多機器上運行的協議,用於鑑別TCP連接的用戶。使用標準的這種服務可以獲得許多機器的信息(會被Hacker利用)。但是它可作爲許多服務的記錄器,尤其是FTP, POP, IMAP, SMTP和IRC等服務。通常如果有許多客戶通過防火牆訪問這些服務,你將會看到許多這個端口的連接請求。記住,如果你阻斷這個端口客戶端會感覺到在防火牆另一邊與e-mail服務器的緩慢連接。許多防火牆支持在TCP連接的阻斷過程中發回RST,着將回停止這一緩慢的連接。

119 NNTP news

新聞組傳輸協議,承載USENET通訊。當你鏈接到諸如:news://comp.security.firewalls/. 的地址時通常使用這個端口。這個端口的連接企圖通常是人們在尋找USENET服務器。多數ISP限制只有他們的客戶才能訪問他們的新聞組服務器。打開新聞組服務器將允許發/讀任何人的帖子,訪問被限制的新聞組服務器,匿名發帖或發送spam。

135 oc-serv MS RPC end-point mapper Microsoft

在這個端口運行DCE RPC end- point mapper爲它的DCOM服務。這與UNIX 111端口的功能很相似。使用DCOM和/或RPC的服務利用機器上的end-point mapper註冊它們的位置。遠端客戶連接到機器時,它們查詢end-point mapper找到服務的位置。同樣Hacker掃描機器的這個端口是爲了找到諸如:這個機器上運 行Exchange Server嗎?是什麼版本?這個端口除了被用來查詢服務(如使用epdump)還可以被用於直接***。有一些DoS攻 擊直接針對這個端口。

137 NetBIOS name service nbtstat (UDP)

這是防火牆管理員最常見的信息,請仔細閱讀文章後面的NetBIOS一節

139 NetBIOS File and Print Sharing

通過這個端口進入的連接試圖獲得NetBIOS/SMB服務。這個協議被用於Windows"文件和打印機共享"和SAMBA。在Internet上共享自己的硬盤是可能是最常見的問題。 大量針對這一端口始於1999,後來逐漸變少。2000年又有回升。一些VBS(IE5 VisualBasic
s cripting)開始將它們自己拷貝到這個端口,試圖在這個端口繁殖。

143 IMAP

和上面POP3的安全問題一樣,許多IMAP服務器有緩衝區溢出漏洞運行登陸過程中進入。記住:一種Linux蠕蟲(admw0rm)會通過這個端口繁殖,因此許多這個端口的掃描來自不知情的已被感染的用戶。當RadHat在他們的Linux發佈版本中默認允許IMAP後,這些漏洞變得流行起來。Morris蠕蟲以後這還是第一次廣泛傳播的蠕蟲。這一端口還被用於IMAP2,但並不流行。已有一些報道發現有些0到143端口的***源於腳本。   

161 SNMP(UDP)

***者常探測的端口。 SNMP允許遠程管理設備。所有配置和運行信息都儲存在數據庫中,通過SNMP客獲得這些信息。許多管理員錯誤配置將它們暴露於Internet。 Crackers將試圖使用缺省的密碼"public""private"訪問系統。他們可能會試驗所有可能的組合。 SNMP包可能會被錯誤的指向你的網絡。Windows機器常會因爲錯誤配置將HP JetDirect remote management軟件使用SNMP。HP OBJECT IDENTIFIER將收到SNMP包。新版的Win98使用SNMP解析域名,你會看見這種包在子網內廣播
(cable modem, DSL)查詢sysName和其它信息。   

162 SNMP trap

可能是由於錯誤配置   

177 xdmcp

許多Hacker通過它訪問X-Windows控制檯,它同時需要打開6000端口。

513

rwho 可能是從使用cable modem或DSL登陸到的子網中的UNIX機器發出的廣播。這些人爲Hacker進入他們的系統提供 了很有趣的信息。

553 CORBA IIOP (UDP)

如果你使用cable modem或DSL VLAN,你將會看到這個端口的廣播。CORBA是一種面向對象的RPC(remote procedure call)系統。Hacker會利用這些信息進入系統。

600 Pcserver backdoor

請查看1524端口一些玩s cript的孩子認爲他們通過修改ingreslock和pcserver文件已經完全攻破了系統-- Alan J. Rosenthal.

635 mountd

Linux的mountd Bug。這是人們掃描的一個流行的Bug。大多數對這個端口的掃描是基於UDP的,但基於TCP 的mountd有所增加(mountd同時運行於兩個端口)。記住,mountd可運行於任何端口(到底在哪個端口,需要在端口111做portmap查詢),只是Linux默認爲635端口,就象NFS通常運行於2049端口。   

1024

許多人問這個端口是幹什麼的。它是動態端口的開始。許多程序並不在乎用哪個端口連接網絡,它們請求操作系統爲它們分配"下一個閒置端口"。基於這一點分配從端口1024開始。這意味着第一個向系統請求分配動態端口的程序將被分配端口1024。爲了驗證這一點,你可以重啓機器,打開Telnet,再打開一個窗口運行 "natstat -a",你將會看到Telnet被分配1024端口。請求的程序越多,動態端口也越多。操作系統分配的端口將逐漸變大。再來一遍,當你瀏覽Web頁時用 "netstat"查看,每個Web頁需要一個新
端口。

?ersion 0.4.1, June 20, 2000
http://www.robertgraham.com/pubs/firewall-seen.html
Copyright 1998-2000 by Robert Graham
(mailto:[email protected].
All rights reserved. This document may only be reproduced (whole or
in part) for non-commercial purposes. All reproductions must
contain this copyright notice and must not be altered, except by
permission of the author.
1025 參見1024
1026 參見1024  

1080 SOCKS   



這一協議以管道方式穿過防火牆,允許防火牆後面的許多人通過一個IP地址訪問Internet。理論上它應該只允許內部的通信向外達到 Internet。但是由於錯誤的配置,它會允許Hacker/Cracker的位於防火牆外部的***穿過防火牆。或者簡單地迴應位於Internet上的計算機,從而掩飾他們對你的直接***。WinGate是一種常見的Windows個人防火牆,常會發生上述的錯誤配置。在加入IRC聊天室時常會看到這種情況。   
1114 SQL   

系統本身很少掃描這個端口,但常常是sscan腳本的一部分。   

1243 Sub-7***(TCP)   

參見Subseven部分。    

1524 ingreslock後門   

許多***腳本將安裝一個後門Sh*ll 於這個端口(尤其是那些針對Sun系統中Sendmail和RPC服務漏洞的腳本,如statd,ttdbserver和cmsd)。如果你剛剛安裝了你的防火牆就看到在這個端口上的連接企圖,很可能是上述原因。你可以試試Telnet到你的機器上的這個端口,看看它是否會給你一個Sh*ll 。連接到600/pcserver也存在這個問題。

2049 NFS   

NFS程序常運行於這個端口。通常需要訪問portmapper查詢這個服務運行於哪個端口,但是大部分情況是安裝後NFS杏謖飧齠絲冢?acker/Cracker因而可以閉開portmapper直接測試這個端口。    

3128 squid   

這是Squid HTTP代理服務器的默認端口。***者掃描這個端口是爲了搜尋一個代理服務器而匿名訪問Internet。你也會看到搜索其它代理服務器的端口: 8000/8001/8080/8888。掃描這一端口的另一原因是:用戶正在進入聊天室。其它用戶(或服務器本身)也會檢驗這個端口以確定用戶的機器是否支持代理。請查看5.3節。

5632 pcAnywere   

你會看到很多這個端口的掃描,這依賴於你所在的位置。當用戶打開pcAnywere時,它會自動掃描局域網C類網以尋找可能得代理(譯者:指 agent而不是proxy)。 Hacker/cracker也會尋找開放這種服務的機器,所以應該查看這種掃描的源地址。一些搜尋pcAnywere的掃描常包含端口22的UDP數據包。參見撥號掃描。    

6776 Sub-7 artifact   

這個端口是從Sub-7主端口分離出來的用於傳送數據的端口。例如當控制者通過電話線控制另一臺機器,而被控機器掛斷時你將會看到這種情況。因此當另一人以此IP撥入時,他們將會看到持續的,在這個端口的連接企圖。(譯者:即看到防火牆報告這一端口的連接企圖時,並不表示你已被Sub-7控制。)    

6970 RealAudio   

RealAudio客戶將從服務器的6970-7170的UDP端口接收音頻數據流。這是由TCP7070端口外向控制連接設置的。   

13223 PowWow   

PowWow 是Tribal Voice的聊天程序。它允許用戶在此端口打開私人聊天的連接。這一程序對於建立連接非常具有"進攻性"。它會"駐紮"在這一TCP端口等待迴應。這造成類似心跳間隔的連接企圖。如果你是一個撥號用戶,從另一個聊天者手中"繼承"了IP地址這種情況就會發生:好象很多不同的人在測試這一端口。這一協議使用 "OPNG"作爲其連接企圖的前四個字節。    

17027 Conducent   

這是一個外向連接。這是由於公司內部有人安裝了帶有Conducent "adbot" 的共享軟件。Conducent "adbot"是爲共享軟件顯示廣告服務的。使用這種服務的一種流行的軟件是Pkware。有人試驗:阻斷這一外向連接不會有任何問題,但是封掉IP地址本身將會導致adbots持續在每秒內試圖連接多次而導致連接過載:

機器會不斷試圖解析DNS名─ads.conducent.com,即IP地址216.33.210.40 ;

216.33.199.77
;216.33.199.80
;216.33.199.81;216.33.210.41。(譯者:不知NetAnts使用的Radiate是否也有這種現象)   

27374 Sub-7***(TCP)   

參見Subseven部分。   

30100 NetSphere***(TCP)   

通常這一端口的掃描是爲了尋找中了NetSphere***。   

31337 Back Orifice "elite"   

Hacker中31337讀做"elite"/ei'li:t/(譯者:法語,譯爲中堅力量,精華。即 3=E, 1=L, 7=T)。因此許多後門程序運行於這一端口。其中最有名的是Back Orifice。曾經一段時間內這是Internet上最常見的掃描。現在它的流行越來越少,其它的 ***程序越來越流行。

31789 Hack-a-tack   

這一端口的UDP通訊通常是由於"Hack-a-tack"遠程訪問***(RAT, Remote Access Trojan)。這種***包含內置的31790端口掃描器,因此任何31789端口到317890端口的連接意味着已經有這種***。(31789端口是控制連接,317890端口是文件傳輸連接)

32770~32900 RPC服務   

Sun Solaris的RPC服務在這一範圍內。詳細的說:早期版本的Solaris(2.5.1之前)將 portmapper置於這一範圍內,即使低端口被防火牆封閉仍然允許Hacker/cracker訪問這一端口。掃描這一範圍內的端口不是爲了尋找 portmapper,就是爲了尋找可被***的已知的RPC服務。   
33434~33600 traceroute   

如果你看到這一端口範圍內的UDP數據包(且只在此範圍之內)則可能是由於traceroute。參見traceroute部分。    

41508 Inoculan   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章