服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 服务器常用端口有哪些?(服务器端口的作用)

服务器常用端口有哪些?(服务器端口的作用)

2022-11-01 17:45服务器知识网 服务器知识

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口,本文就给大家讲解下服务器常用端口有哪些及服务器端口的作用,有需要的朋友可以参考下

服务器常用端口有哪些?(服务器端口的作用)

什么是端口

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。

服务器端口的作用

我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。

需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访 问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口。

动态端口(Dynamic Ports)

端口号。

端口在入侵中的作用

有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门,如果不考虑细节的话,这是一个不错的比喻。入侵者要占领这间房子,势必要破门而入(物理入侵另说),那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。

入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。

分类

面向连接服务和无连接服务

可以先了解面向连接和无连接协议(Connection-Oriented and ConnectionlessProtocols)面向连接服务的主要特点有:面向连接服务要经过三个阶段:数据传输前,先建立连接,连接建立后再传输数据,数据传送完后,释放连接。面向连接服务,可确保数据传送的次序和传输的可靠性。无连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。只要发送实体是活跃的,无须接收实体也是活跃的。它的优点是灵活方便、迅速,特别适合于传送少量零星的报文,但无连接服务不能防止报文的丢失、重复或失序。

区分"面向连接服务"和"无连接服务"的概念

区分特别简单、形象的例子是:打电话和写信。两个人如果要通电话,必须先建立连接--拨号,等待应答后才能相互传递信息,最后还要释放连接--挂电话。写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。TCP/IP协议在网络层是无连接的(数据包只管往网上发,如何传输和到达以及是否到达由网络设备来管理)。而"端口",是传输层的内容,是面向连接的。协议里面低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。

常见服务划分

划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。

网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(开放系统互联参考模型,Open System Interconnection Reference Model)七层协议可知,传输层与网络层最大的区别是传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种标识符。

应用程序(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。由于TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立。如TCP有一个255号端口,UDP也可以有一个255号端口,两者并不冲突。端口号有两种基本分配方式:第一种叫全局分配这是一种集中分配方式,由一个公认权威的中央机构根据用户需要进行统一分配,并将结果公布于众,第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接起来(binding,绑定)。TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口叫周知端口,即使在不同的机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCP和UDP规定,小于256的端口才能作为保留端口。

按端口号可分为3大类

按照端口号的大小分类,可分为如下几类 [1] :

(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

系统管理员可以"重定向"端口

一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。如果是这样改了。实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进行攻击则必须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而来:81,88,8000,8080,8888。同样POP的端口原来在110,也常被重定向到1100。也有不少情况是选取统计上有特别意义的数,象1234,23456,34567等。许多人有其它原因选择奇怪的数,42,69,666,31337。越来越多的远程控制木马(RemoteAccessTrojans,RATs)采用相同的默认端口。如NetBus的默认端口是12345。BlakeR.Swopes指出使用重定向端口还有一个原因,在UNIX系统上,如果你想侦听1024以下的端口需要有root权限。如果你没有root权限而又想开web服务,你就需要将其安装在较高的端口。此外,一些ISP的防火墙将阻挡低端口的通讯,这样的话即使你拥有整个机器你还是得重定向端口。

服务器常用端口

添加安全组规则时,您必须指定通信端口或端口范围,然后安全组根据允许或拒绝策略决定是否转发数据到ECS实例。例如,使用Xshell客户端远程连接ECS实例时,当安全组检测到从公网或内网有SSH请求,会同时检查入方向上发送请求的设备的IP地址是否在允许放行的安全组规则中、22端口是否开启,只有匹配到的安全组规则允许放行该请求时,方才建立数据通信。

说明:部分运营商判断端口25、135、139、444、445、5800、5900等为高危端口,并默认屏蔽。即使您添加的安全组规则放行了这些端口,在受限地区仍无法访问。建议您修改为其它非高危端口承载业务。

常用端口

典型应用的默认端口如下表所示。

端口 服务 说明
21 FTP FTP服务所开放的端口,用于上传、下载文件。
22 SSH SSH端口,用于通过命令行模式或远程连接软件(例如PuTTY、Xshell、SecureCRT等)连接Linux实例。
23 Telnet Telnet端口,用于Telnet远程登录ECS实例。
25 SMTP SMTP服务所开放的端口,用于发送邮件。基于安全考虑,ECS实例25端口默认受限
53 DNS 用于域名解析服务器(Domain Name Server,简称DNS)协议。如果在安全组出方向实行白名单方式,需要放行53端口(UDP协议)才能实现域名解析。
80 HTTP 用于HTTP服务提供访问功能,例如,IIS、Apache、Nginx等服务。
110 POP3 用于POP3协议,POP3是电子邮件收发的协议。
143 IMAP 用于IMAP(Internet Message Access Protocol)协议,IMAP是用于电子邮件的接收的协议。
443 HTTPS 用于HTTPS服务提供访问功能。HTTPS是一种能提供加密和通过安全端口传输的一种协议。
1433 SQL Server SQL Server的TCP端口,用于供SQL Server对外提供服务。
1434 SQL Server SQL Server的UDP端口,用于返回SQL Server使用了哪个TCP/IP端口。
1521 Oracle Oracle通信端口,ECS实例上部署了Oracle SQL需要放行的端口。
3306 MySQL MySQL数据库对外提供服务的端口。
3389 Windows Server Remote Desktop Services Windows Server Remote Desktop Services(远程桌面服务)端口,可以通过这个端口使用软件连接Windows实例。
8080 代理端口 同80端口一样,8080端口常用于WWW代理服务,实现网页浏览。如果您使用了8080端口,访问网站或使用代理服务器时,需要在IP地址后面加上:8080。安装Apache Tomcat服务后,默认服务端口为8080。
137、138、139 NetBIOS协议 137、138为UDP端口,通过网上邻居传输文件时使用的端口。139通过这个端口进入的连接试图获得NetBIOS/SMB服务。NetBIOS协议常被用于Windows文件、打印机共享和Samba。

常用端口的应用场景示例

下表为部分端口的应用场景,以及对应的安全组规则设置

应用场景 网络类型 方向 策略 协议 端口范围 对象类型 授权对象 优先级
SSH远程连接Linux实例 专有网络VPC 入方向 允许 自定义TCP SSH(22) 地址段访问 0.0.0.0/0 1
SSH远程连接Linux实例 经典网络 公网入方向 允许 自定义TCP SSH(22) 地址段访问 0.0.0.0/0 1
RDP远程连接Windows实例 专有网络VPC 入方向 允许 自定义TCP RDP(3389) 地址段访问 0.0.0.0/0 1
RDP远程连接Windows实例 经典网络 公网入方向 允许 自定义TCP RDP(3389) 地址段访问 0.0.0.0/0 1
公网Ping ECS实例 专有网络VPC 入方向 允许 全部ICMP -1/-1 地址段访问或安全组访问 根据授权类型填写 1
公网Ping ECS实例 经典网络 公网入方向 允许 全部ICMP -1/-1 地址段访问或安全组访问 根据授权类型填写 1
ECS实例作Web服务器 专有网络VPC 入方向 允许 自定义TCP HTTP (80) 地址段访问 0.0.0.0/0 1
ECS实例作Web服务器 经典网络 公网入方向 允许 自定义TCP HTTP (80) 地址段访问 0.0.0.0/0 1
使用FTP上传或下载文件 专有网络VPC 入方向 允许 自定义TCP 20/21 地址段访问 指定IP段 1
使用FTP上传或下载文件 经典网络 公网入方向 允许 自定义TCP 20/21 地址段访问 指定IP段 1

 

延伸 · 阅读

精彩推荐