主题 : 【分享】深入了解计算机端口
级别: 模拟小生
UID: 237878
精华: 0
发帖: 100
威望: 0 星
金钱: 17 浮游币
贡献值: 0 点
好评度: 197 点
人气: 0 点
在线时间: 10(时)
注册时间: 2007-08-02
最后登录: 2012-01-04
楼主  发表于: 2007-08-02 16:07

【分享】深入了解计算机端口

(一) 
有过一些黑客攻击方面知识的读者都会知道,其实那些所谓的黑客并不是像人们想象那样从
天而降,而是实实在在从您的计算机"大门"中自由出入。计算机的"大门"就是我们平常所说
的"端口",它包括计算机的物理端口,如计算机的串口、并口、输入/输出设备以及适配器
接口等(这些端口都是可见的),但更多的是不可见的软件端口,在本文中所介绍的都是指
"软件端口",但为了说明方便,仍统称为"端口"。本文仅就端口的基础知识进行介绍,
  一、端口简介
  随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入
/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协议就解决了这
个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新
的输入/输出接口技术,因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程
序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socke
t接口的计算机进行通信。端口在计算机编程上也就是"Socket接口"。
  有了这些端口后,这些端口又是如何工作呢?例如一台服务器为什么可以同时是Web服
务器,也可以是FTP服务器,还可以是邮件服务器等等呢?其中一个很重要的原因是各种服
务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FT
P采用21号端口等,而邮件服务器是采用25号端口。这样,通过不同端口,计算机就可以与
外界进行互不干扰的通信。
  据专家们分析,服务器端口数最大可以有65535个,但是实际上常用的端口才几十个,
由此可以看出未定义的端口相当多。这是那么多黑客程序都可以采用某种方法,定义出一个
特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在计算
机启动之前自动加载到内存,强行控制计算机打开那个特殊的端口。这个程序就是"后门"程
序,这些后门程序就是常说的木马程序。简单的说,这些木马程序在入侵前是先通过某种手
段在一台个人计算机中植入一个程序,打开某个(些)特定的端口,俗称"后门"(BackDoo
r),使这台计算机变成一台开放性极高(用户拥有极高权限)的FTP服务器,然后从后门就
可以达到侵入的目的。
二、端口的分类
  端口的分类根据其参考对象不同有不同划分方法,如果从端口的性质来分,通常可以分
为以下三类:
  (1)公认端口(Well Known Ports):这类端口也常称之为"常用端口"。这类端口的
端口号从0到1024,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种
服务的协议,这种端口是不可再重新定义它的作用对象。例如:80端口实际上总是HTTP通信
所使用的,而23号端口则是Telnet服务专用的。这些端口通常不会像木马这样的黑客程序利
用。为了使大家对这些常用端口多一些认识,在本章后面将详细把这些端口所对面应的服务
进行列表,供各位理解和参考。
  (2) 注册端口(Registered Ports):端口号从1025到49151。它们松散地绑定于一
些服务。也是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多
数没有明确的定义服务对象,不同程序可根据实际需要自己定义,如后面要介绍的远程控制
软件和木马程序中都会有这些端口的定义的。记住这些常见的程序端口在木马程序的防护和
查杀上是非常有必要的。常见木马所使用的端口在后面将有详细的列表。
  (3) 动态和/或私有端口(Dynamic and/or Private Ports):端口号从49152到6553
5。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一
些木马程序就非常喜欢用这些端口,因为这些端口常常不被引起注意,容易隐蔽。
  如果根据所提供的服务方式的不同,端口又可分为"TCP协议端口"和"UDP协议端口"两种
。因为计算机之间相互通信一般采用这两种通信协议。前面所介绍的"连接方式"是一种直接
与接收方进行的连接,发送信息以后,可以确认信息是否到达,这种方式大多采用TCP协议
;另一种是不是直接与接收方进行连接,只管把信息放在网上发出去,而不管信息是否到达
,也就是前面所介绍的"无连接方式"。这种方式大多采用UDP协议,IP协议也是一种无连接
方式。对应使用以上这两种通信协议的服务所提供的端口,也就分为"TCP协议端口"和"UDP
协议端口"。
  使用TCP协议的常见端口主要有以下几种:
  (1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动
了文件传输服务。下载文件,上传主页,都要用到FTP服务。
  (2) Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算
机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是纯字符界面的
,支持BBS的服务器将23端口打开,对外提供服务。
  (3) SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于
发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置中常
看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。
  (4) POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是11
0端口。也是说,只要你有相应的使用POP3协议的程序(例如Foxmail或Outlook),就可以
不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先
进入网易网站,再进入自己的邮箱来收信)。
  使用UDP协议端口常见的有:
  (1) HTTP:这是大家用得最多的协议,它就是常说的"超文本传输协议"。上网浏览网
页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"WWW服务"、"Web服
务器"用的就是这个端口。
  (2) DNS:用于域名解析服务,这种服务在Windows NT系统中用得最多的。因特网上
的每一台计算机都有一个网络地址与之对应,这个地址是常说的IP地址,它以纯数字+"."的
形式表示。然而这却不便记忆,于是出现了域名,访问计算机的时候只需要知道域名,域名
和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。
  (3) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络
设备很多,无连接的服务就体现出其优势。
  (4) OICQ:OICQ程序既接受服务,又提供服务,这样两个聊天的人才是平等的。OIC
Q用的是无连接的协议,也是说它用的是UDP协议。OICQ服务器是使用8000号端口,侦听是否
有信息到来,客户端使用4000号端口,向外发送信息。如果上述两个端口正在使用(有很多
人同时和几个好友聊天),就顺序往上加。
  在计算机的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口
所对应的服务通常情况下是固定的。表1所列的都是服务器默认的端口,不允许改变,一般
通信过程都主要用到这些端口。



服务类型
默认端口
服务类型
默认端口
Echo
7
Daytime
13
FTP
21
Telnet
23
SMTP
25
Time
37
Whois
43
DNS
53
Gopher
70
Finger
79
WWW
80
POP3
110
NNTP
119
IRC
194

  另外代理服务器常用以下端口:
  (1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
  (2). SOCKS代理协议服务器常用端口号:1080
  (3). FTP协议代理服务器常用端口号:21
  (4). Telnet协议代理服务器常用端口:23