端口是英文port的意译,可以认为是设备与外界通讯交流的出口,端口的作用:对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。端口号是访问服务器的标识,端口号的作用:表示一台计算机中的特定进程所提供的服务。
一、端口的含义
端口是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
端口的分类:
1、公认端口
公认端口(Well Known Ports)也称为“常用端口”,其端口号的范围为0-1023,它们紧密地绑定于一些特定的服务。通常这些端口的通信明确地表明了某种服务的协议,这种端口不可再重新定义它的作用对象。例如,21端口分配给了FTP服务,而23端口是Telnet服务专用的,SMTP使用25号端口,80端口是HTTP通信所使用的,135端口分配给了RPC(远程过程调用)服务。这些端口通常不会被如木马这样的黑客程序利用。
2、注册端口
注册端口(Registered Ports)的端口号范围为1024~49151,也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他的目的。这些端口大多数没有明确定义的服务对象,应用程序会根据自己的实际需要进行定义。例如,腾讯QQ客户端用的就是4000端口。需要指出的是:这些端口也是木马程序的常用端口,是防护和查杀木马程序必须要检查的端口。
3、动态和/或私有端口
动态和/或私有端口(Dynamic and/or Private Ports)的端口范围为49152~65535。理论上不应将这些端口分配给服务,但实际上一些较为特殊的程序,特别是一些木马程序就喜欢使用这些端口,因为这些端口通常不被人们注意,容易隐藏。
二、端口的作用
端口是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信,端口主要用于标识不同的进程或应用程序之间的通信通道,它能帮助应用程序识别彼此、建立连接并传输数据。
三、端口号的含义
端口号是访问服务器的标识,端口号,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。
一些常见的端口号及其用途如下:
- 21端口:FTP 文件传输服务
- 22端口:SSH 远程连接服务
- 23端口:TELNET 终端仿真服务
- 25端口:SMTP 简单邮件传输服务
- 53端口:DNS 域名解析服务
- 80端口:HTTP 超文本传输服务
- 443端口:HTTPS 加密的超文本传输服务
- 3306端口:MYSQL数据库端口
- 5432端口:PostgreSQL数据库端口
- 6379端口:Redis数据库端口
- 8080端口:TCP服务端默认端口
- 8888端口:Nginx服务器的端口
- 9200端口:Elasticsearch服务器端口
- 27017端口:mongoDB数据库默认端口
- 22122端口:fastdfs服务器默认端口
四、端口号的作用
端口号的主要作用是表示一台计算机中的特定进程所提供的服务。网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供很多个服务,如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务,如常见的端口号21表示的是FTP服务,端口号23表示的是Telnet服务端口号25指的是SMTP服务等。端口号一般习惯为4位整数,在同一台计算机上端口号不能重复,否则,就会产生端口号冲突这样的例外。
延伸阅读1:UNIX常用端口号
UNIX操作系统因具有运行稳定、系统要求低、安全性高,而得到广泛应用。其伯克利套接字,发展较早,具有鲜明特点,例如:UNIX系统有保留端口号的概念。只有具有超级用户特权的进程才允许给它自己分配一个保留端口号,这些端口号介于1~1023之间,一些应用程序将它作为客户与服务器之间身份认证的一部分。大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口与是为其他服务器预留的(Internet上并不常用的服务)。