|
楼主 |
发表于 2008-8-30 16:37:30
|
显示全部楼层
176.端口概念
1 g- F8 T- c: F1 _: b 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。 ; [& `# \* i' Q8 H n: c$ h
9 T! }8 c2 X `' `, d8 y
/ w9 _% { x8 |) |! ?3 @5 c查看端口
& P- m* R( b( \3 p# Z0 E4 I6 u 在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令:# b3 k4 M% X8 T# {9 _+ M5 @
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。
R: N Y( }2 v' j4 V8 E/ O0 g# z8 b; p; D7 C: D3 m; q r! W6 V
关闭/开启端口8 `- S K; o) ^: l+ ]: p
在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等等。为了保证系统的安全性,我们可以通过下面的方法来关闭/开启端口。
. w2 |* n* h8 N4 i4 e5 e3 k/ M, j7 c6 J
关闭端口' a1 ^* I9 k# _- `# o- s o1 U
比如在Windows 2000/XP中关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。
# m! ?6 d* o; O- b: [; n1 m0 w. r# y. D l! H( g9 M
开启端口
8 v& K: p8 [ {7 }! U. y0 X 如果要开启该端口只要先在“启动类型”选择“自动”,单击“确定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“确定”按钮即可。
P% p9 e" h: l) i+ W. R# d. W提示:在Windows 98中没有“服务”选项,你可以使用防火墙的规则设置功能来关闭/开启端口。! ]# f" Q0 s# o8 Z- q; N# r
端口分类: a: I2 E" j% _4 O: L" T
! E) R" i# ~$ k2 A( d
逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:
2 p) Z/ B) d, c% w. c5 e$ ~8 C7 D) I" b$ i& r8 A' \3 M
1. 按端口号分布划分
, y1 _" H, @" l8 K2 n9 D- Y; x
5 ]" P/ G1 [- R7 r! c(1)知名端口(Well-Known Ports)
4 U+ B- q, f/ s) _) Z" N3 M7 g2 ] 知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。; X( e/ Q& u' p" }6 k
( i# K! n# M* s(2)动态端口(Dynamic Ports)
, i$ ^6 a) C! p, Y 动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。 P( U7 L7 T3 b& t) j9 u1 y
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。
8 i4 O! @) j0 [, o
/ ^& c) e- M ]3 v5 C4 G2. 按协议类型划分
8 k5 a* F* I8 L \ 按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口:' q1 w2 {& n# w' o
d1 d" |$ \3 K7 R' d; a
(1)TCP端口- w$ P, S# [" S6 x4 ]
TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。
( q, i- D2 Y' F5 g7 S& `4 B" V% b" j% w9 `3 O( ^( J
(2)UDP端口) L2 X: g5 t. }7 C& X' d
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。: A& k* l3 p+ ^& S% v
常见网络端口) F; X4 e1 q. k' a: a6 R( _
2 l" V6 s' T' v X" m
网络基础知识!端口对照
! O; U" V1 k) W5 A1 ]6 P& X1 W F6 G# ^
端口:0 4 ~9 t' J' H2 t9 [6 Q
服务:Reserved
4 d. x, k) {3 {' U9 M: s: }3 Q说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。
/ f0 R( j: O) a/ t' P+ `- l% ]! V
* H7 }- e5 V+ W" ^; [端口:1 5 S5 K4 P$ \: I X
服务:tcpmux
6 c* `. B7 M* V' r2 j说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。 % m6 {' K$ J3 W) P
5 o) I. t. X& [7 M$ f m( U端口:7
* W8 R* S: k. L: H服务:Echo ! N8 \4 a* `) B6 C
说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
1 J7 e) A, V \3 U" g) }
, u- B' h; { |* K端口:19
) k" d/ y: v* [: Q服务:Character Generator ( {- s$ L' c6 |3 T
说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。 1 Z# B1 p. s" e0 b/ u$ [, _" {/ r
! T9 F2 g5 Y7 i端口:21 4 S& u1 D3 F/ q
服务:FTP
) K5 O: {6 X! o; {说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。 ! g9 f6 r; e. q
; q# U7 |$ Q. o8 R
端口:22 , e: e, Y" M* u. I1 g0 h! t3 m( I
服务:Ssh 4 e1 N' J L) g% f4 E7 R* S
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
. a5 D! h$ x' E5 c$ B5 f7 w6 s7 L- I
4 z. s [' A% A9 A2 w端口:23
~) `+ S( O; P2 m8 d; q$ g, u服务:Telnet 7 T& i+ f7 I- G2 e
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。
- P8 V+ b g5 Z$ s5 @5 t
: S$ p+ B* X" N7 Q端口:25
* D0 d% K/ t& F* d服务:SMTP 5 _( j+ D# ]" U1 v: S2 p$ {
说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。
/ a W, G4 x6 e! I# [
3 I: L2 ?7 l- k* @4 S4 q/ \7 y* K端口:31
& p* x; h/ f- o/ k6 q& \服务:MSG Authentication
* E) _' i+ M# s5 m3 S- r! ^5 G说明:木马Master Paradise、Hackers Paradise开放此端口。
4 l- W0 `; X- `3 ~3 R" e
" v6 Q$ p) O1 x5 q1 b/ h9 ]端口:42 : ~; Q" `+ D( l, X6 @% `5 ?! Z( u' J
服务:WINS Replication 0 `& H* y( Z; f
说明:WINS复制
# W3 {# Y% j5 n- o
3 A6 c+ u$ `6 V @2 B7 T端口:53 " ^: {$ j1 w+ Y, V2 e; N
服务:Domain Name Server(DNS)
s% `/ ?( i1 X' D7 O9 W说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。 % p- H' q, ~, S4 w0 g7 |' Z$ {9 n5 F
: g! ^6 [* B* `: [
端口:67 9 V$ C# G' M$ f$ ~$ ^
服务:Bootstrap Protocol Server
* q/ ~$ }5 a- j5 D说明:通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。 ' K; a. _' U3 e% d
% i" b& H* r U# n: V3 _) L
端口:69 / Y6 H- G; W3 i2 E
服务:Trival File Transfer * k: I0 J9 x a0 H& t
说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。 " e3 b6 ]$ l+ R" u) i. W2 h
- S, n( L( h2 E8 |& Z3 q端口:79 / A: [3 M, _3 e
服务:Finger Server & \# q6 I3 s0 ]# V/ c6 _
说明:入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。
1 k- u9 [- K2 s: {6 u: \
! z2 I/ k2 _0 \& E- }端口:80 ( `) a. S& m1 ]
服务:HTTP
4 c# V# D) A$ T) i6 Q4 H说明:用于网页浏览。木马Executor开放此端口。
. W' G# d; `1 K& A1 E. F* O
% q, C4 u/ y- U& K端口:99 7 A- n( Z( ] f: t7 F' F
服务:Metagram Relay ! i* z' Y6 B" T9 ?: S9 o
说明:后门程序ncx99开放此端口。 0 F, a5 t' c5 g: A. g# Z) [
! ~+ B( W4 ~. m/ Y+ z: p5 S端口:102
9 X2 j- g7 p1 U) w' m8 v! E9 O服务:Message transfer agent(MTA)-X.400 over TCP/IP + e. p$ s; s: [6 V
说明:消息传输代理。
+ _! O7 ]6 q# L. K; I) Y5 F+ ]4 E0 V0 u+ q% u* v1 g' u% ?
端口:109 ! b8 ?! Q% N9 \1 E- N8 H
服务:Post Office Protocol -Version3
7 ~7 P' @% \5 ]( o( b" T% u说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。
$ Z9 l) W/ I/ U& R, \6 [1 ~* Q. R7 V( K D4 i
端口:110 % F+ J: s" U( e! K
服务:SUN公司的RPC服务所有端口 8 Y @4 T) B- g0 s- q0 ]+ L
说明:常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等
+ G/ k. y" w X9 m* y3 ?5 K5 X* S) [% [6 I2 o: |4 o9 I$ {
端口:113 2 v5 P0 _" H- e: u1 C) @1 `
服务:Authentication Service 0 N& i& w) @3 v/ g. \
说明:这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。
, G$ ?; ?* p3 E: J* B9 G% D* ]4 ]: T) J
端口:119 5 [2 Z6 O& N* I/ m
服务:Network News Transfer Protocol " a+ c$ O0 j/ q% U+ p7 I6 {$ q2 j
说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。
6 v4 H- ?- ]3 G) t0 e- x
: r: Q' r. A" @6 K/ A* e3 t' c6 i端口:135 ~8 Y2 `8 T/ s
服务:Location Service t$ c/ o4 b% N+ Z+ A' U- {: `9 J
说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。
2 Q- | W( e* l* x
. j! d. t; Z$ ]7 Z, b* R端口:137、138、139 ( ?* C/ j0 l7 q9 b' v% ?& }
服务:NETBIOS Name Service
- Q0 {( i8 U: `: G; E说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。 . ~7 \* G. K) v% [( k- ^3 c0 w, h
$ W& Q" c2 m. R; T6 ]0 r: a端口:143 ' G( {9 b6 `2 _
服务:Interim Mail Access Protocol v2
- o; J: b9 W; n0 Y4 S说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。 1 {0 `7 w$ N+ w3 Z
! b3 q: F$ }, N" }
端口:161
: c1 j$ j5 G# H1 R' f服务:SNMP - x( j9 H. _" {5 J0 W, R/ j1 y; b
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
$ t5 l- D8 y. ~$ m N9 d, B0 E6 C' U' p9 K: i" m
端口:177 # z! [3 ?$ m# s, H0 s9 V" ~
服务:X Display Manager Control Protocol
0 Y* u2 j5 B) ^2 J1 \5 p说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。
. a% p! R4 F- ~( y4 _
, D4 I' y3 E: ^2 N端口:389
/ n. x) o' J3 W1 _. H; u服务:LDAP、ILS
8 P8 i* N% Y6 p说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。
: a- Z% C$ J( U! x/ {$ J
( O2 g7 g! d% h$ {% f0 N. k端口:443 7 Q! r0 I- M. y5 j+ [* f2 n0 h
服务:Https
/ I$ h( u2 v/ l4 ?( V说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
3 o+ g B" n5 w3 V' }
9 }6 B, y* V8 A端口:456 ) L3 m( u, Q% g! g% i
服务:[NULL] ( } V) f& G( Y1 D
说明:木马HACKERS PARADISE开放此端口。 ; @1 E m- ` t) [+ p0 B# F
2 g2 Y6 V* T+ y" ^, H* l6 s7 }) k/ c
端口:513 6 `$ F+ C2 k5 W9 v _4 e+ O
服务:Login,remote login ! }7 m. ^5 }) `! g6 |; D' A
说明:是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。 % u/ L) y$ a/ Q. ~. A3 j4 e/ @
- S$ }5 u- F% a- `4 {
端口:544
$ P0 i+ c) T( H# y! k5 L服务:[NULL]
, E% \2 o: C/ e$ N# p( S! P说明:kerberos kshell
' _) Z& Z: Z9 k4 ^' `9 B0 l u; N: M! r+ p" b
端口:548 1 C( M+ i Z9 D" ~- j4 J) r) P
服务:Macintosh,File Services(AFP/IP) # Q3 ?9 \0 `. B( t
说明:Macintosh,文件服务。 S1 S+ ]% v, p% ~) Y
1 q! O; f+ K% |+ z7 {# ^
端口:553
4 w! s. [6 f! p3 `服务:CORBA IIOP (UDP) " V) I3 Q- M" O# _6 |! P
说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。 ) f$ c8 h, J& ?0 X
8 n% N C. V2 t$ P* U/ ?端口:555
2 t! Z2 R$ A+ z6 }服务:DSF
( h& Q J" U( a说明:木马PhAse1.0、Stealth Spy、IniKiller开放此端口。 & ]8 i. ]& S4 y! r$ \. v
, p* a% a+ v1 b6 w7 J, v) @# ^
端口:568
8 P$ I! a8 R6 e服务:Membership DPA
7 r% E; d* m% [1 Q. @/ l; W4 C$ t说明:成员资格 DPA。
% ?7 m1 @6 g) g8 q( R: m, S5 i9 @- S+ ]& j
端口:569 , c7 t: Y" w* L" H5 D7 V
服务:Membership MSN
3 |9 H1 c+ B% x( F/ o- A说明:成员资格 MSN。
7 F+ l+ g1 v4 w- A& q, r0 ?6 k5 s* d8 Z/ T7 |# L+ H
端口:635 " U" q8 h# _& P. q5 t9 V
服务:mountd
3 F6 o7 f7 g$ ~说明:Linux的mountd Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是Linux默认端口是635,就像NFS通常运行于2049端口。 |
|