端口(Port)可以认为是高防服务器与外界进行通信交换的出口。其中硬件领域的端口又称接口,如USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包含一些数据结构和I/O(基础输入输出)缓沖区。
端口是传输层的內容,是面向连接的,它们对应着网络上常见的一些服务。这些常见的服务可划分为应用TCP端口(面向连接如打电话)和应用UDP端口(无连接如写信)两种。
在网络中,可以被命名和寻址的通信端口是种可分配资源,由网络OSI( Open SystemInterconnection Referencemodel,开放系统互联参考模型)协议可知,传输层与网络层的区別是传输层供给过程通信能力,网络通信的最终地址不仅包含主机地址,还包含可描写过程的某种标识。因此,当利用程序(调入内存运行后般称为过程)通过系统调用与某端口建立连接(Binding,绑定)之后,传输层传给该端口的数据都被相应的过程所吸收,相应过程发给传输层的数据都从该端口输出。
一、端口的分类
在网络技巧中,端口大致有两种含义:一是物理意乂上的商品,如集线器、交换机和路由器等用于连接其他的网络设备的接口;二是逻辑意义上的端口,一般指 TCP/IP协议中的端口,领域为0~65535,如浏览网页服务的80端口,用于FTP服务的21端口等。
逻辑意义上的端口有多种分类标准,常见的分类标准有以下两种。
1、按端口号散布划分。按端口号散布划分可以分为“公认端口”、“注册端口”和“动态和/或私有端口”等
1)公认端口( Well Known Ports)。公认端口也称为常用端口,端口号为0~1023,它们紧密地绑定于一些特别的服务。通常,这些端口的通信明确地表明了某种服务协议,不可再重新定义它的作用对象。例如21端口分配给FTP服务,23号端口分配给 Telnet服务专用,25号端口分配全SMTP(简略邮件传输协议)服务,80端口是HTTP通信应用的,135端口分配给RPC(远程过程调用)服务等,通常不会被像木马这样的黑客程序利用。
2)注册端口( Registered Ports)。注册端口的端口号为1024~49151,它们松散地绑定些服务,也即有许多服务绑定于这些端口,这些端口同样用于许多其他目标,且多数没有明断定义对象,不同的程序可以根据需要自己定义。记住这些常见程序端口,在木马程序的防护和查杀上非常有必要。
3)动态和或私有端口( Dynamic and/orPrivate Ports)。动态和/或私有端口的端口号为49152~65535,理论上不应当把常用服务分配在这些端口上,但实际上有些较为特别的程序,特别是一些木马就非常爱好应用这些端口,因为这些端口常常不会引起人们的注意,容易隐蔽。
2、按协议类型判分。根据所供给的服务方法,端口又可分为“TCP端口”和“UDP端ロ”两种。一般直接与吸收方进行的连接方法,大多采用TCP协议。只是把信息放在网上发布出去而不去关心信息是不是达到(也即“无连接方法”),则大多采用UDP协议。
应用TCP协议的常见端口重要有以下几种:
1)FTP协议端口。定义了文件传输协议,应用21端口。某服务器开启了FTP服务便启动了文件传输服务,下载文件和上传主页都要用到FTP服务。
2)Tenet协议端口。一种用于远程登录的端口,用户可以自己的身份远程连接到服务器上,通过这种端口可供给一种基于DOS模式的通佩服务。如支撑纯字符界面BBS的服务器会将23端口打开,以对外供给服务。
3)SMTP协议端口。现在很多邮件服务器应用的都是这个简略邮件传送协议来发送邮件。如常见不要钱邮件服务中应用的就是此邮件服务端口,所以在电子邮件设置中经常会看到有SMTP端口设置栏,服务器开放的是25号端口。
4)POP3协议端口。POP3协议用于吸收邮件,通常应用110端口。只要有相应应用POP3协议的程序(如 Outlook等),就可以直接应用邮件程序收到邮件(如应用126邮箱的用户就没有必要先进入126网站,再进入自己的邮箱来收信了。)
应用UDP协议的常见端口重要有以下几种:
1)HTTP协议端口。这是用户应用得最多协议,也即“超文本传输协议”。当上网浏览网页时,就要在供给网页资源的服务器上打开80号端口以供给服务。通常的“WWW服务Web服务器”等应用的就是这个端口。
2)DNS协议端口。DNS用于域名解析服务,这种服务在 Windows NT系统中用得最多。 Internet上的每一台服务器都有一个网络地址与之对应,这个地址就是IP地址,它以纯数字情势表现。但由于这种表现方法不便于记忆,于是就涌现了域名,访问服务器时只需要知道域名即可,域名和IP地址之间的变换由DNS服务器来完成(DNS用的是53号端口)。
3)SNMP协议端口。简略网络管理协议,用来管理网络设备,应用161号端口。
4)QQ协议端口。QQ程序既供给服务又吸收服务,应用无连接协议,即UDP协议。QQ服务器应用8000号端口侦听是不是有信息到来,客户端应用4000号端口向外发送信息。
提示:
在服务器的6万多个端口中,通常把端口号为1024以内的称为常用端口,这些常用端口所对应的服务通常是固定的。
二、查看端口
为了查找目标主机上都开放了哪些端口,可以应用某些扫描工具对目标主机必定领域内的端口进行扫描。只有控制目标主机上的端口开放情况,オ能进一步对目标主机进行攻击。
在 Windows2000/ Server2003/XP系统中,可以应用 Netstat命令查看端口。在命令提示符窗口中运行 netstat-a-n命令,即可看到以数字情势显示的TCP和UDP连接的端口号及其状态,如图1所示。
如果攻击者应用扫描工具对目标主机进行扫描,即可获取目标服务器打开的端口情况,并懂得目标服务器供给了哪些服务。根据这些信息,攻击者即可对目标主机有一个初步懂得。
如果在管理员不知情的情况下打开了太多端口,则可能涌现两种情况:一种是供给了服务管理者没有注意到,例如安装IS服务时,软件就会主动地增长很多服务;另一种是服务器被攻击者植入了木马程序,通过特别的端口进行通信。这两种情况都比较危险,管理员不懂得服务器供给的服务,就会减小系统的安全系数。