本文简明介绍了什么是端口,并给出了如何在ubuntu系统中查看端口的占用情况。

1,什么是端口

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

 端口具体是指接口电路中的一些寄存器,这些寄存器分别用来存放数据信息,控制信息和状态信息,相应的㐰分别称为数据端口、控制端口和状态端口。电脑运行的系统程序,运行到这些端口是,会查看端口是否打开或者关闭,如果关闭,系统继续进行,如果打开,则接受外部数据并执行。

 如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。

 在internet上,主机之间通过ip地址进行数据包的传送。当数据包达到目的主机后,系统会解析数据包报文首部的目的端口号,与此端口相对应的那个进程会领取数据并等待下一组数据的到来。

 端口其实就是队,操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。

 不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利地回传数据包到这个端口。

 也就是说,如果把主机比作房间,那么端口就是一个个的门,数据的进出都需要开放对应的端口。

2,端口类型

 大的来说,端口有两种类型,TCP端口和UDP端口。因为TCP和UDP是两种协议,因此各自的端口也独立。比如,TCP有235端口,UDP也有235端口,二者不冲突。端口有3种类型

端口类型

范围

说明

周知端口

0-1023

周知端口是众所周知的端口号

注册端口

1023-49151

分配给用户进程或应用程序。

动态端口

49151-65535

之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。

3,常用端口

端口号

服务

说明

8080

www服务

8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览

21

FTP

FTP服务器所开放的端口,用于上传,下载。

22

SSH

免密码登陆

23

Telnet

远程登陆

25

SMTP

SMTP服务器所开放的端口,用于发送邮件

80

www服务

用于网页浏览

110

POP3

POP3服务器开放此端口,用于接受邮件

3306

mysql

MySQL 数据库服务

 完整的端口请查阅

4,ubuntu下端口相关操作

命令

说明

netstat -a

查看已经连接的服务端口

netstat -ap

查看所有的服务端口

netstat -ap | grep 8080

查看指定端口,可以结合grep命令

 若要关闭使用这个端口的程序,使用kill + 对应的pid

kill -9 PID号