端口
一、什么是端口?
端口是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口:
- 虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。
- 物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
1.物理端口
物理端口是用来连接物理设备的
2.虚拟端口
一个IP地址只能代表一台计算机,所以可以通过IP地址来找到指定的计算机。但是一台计算机上有很多的进程,如果还只仅仅用IP地址的话,显然是不行的。所以我们要使用端口来区分不同的进程,通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
二、端口的划分
Linux系统支持65535个端口,分为3类进行使用:
- 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
- 注册端口:1024~49151,通常可以随意使用
- 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
注意:端口的划分是人为的,这是一个规范,如果你非得去乱用也是可以的
三、查看端口的占用
1.使用nmap命令
(1)安装
nmap不是系统自带的,先通过yum进行安装:
yum -y install nmap
(2)语法
nmap 被查看的IP地址
(3)使用
nmap 127.0.0.1
可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。
2.通过netstat命令
(1)安装
net-tools不是系统自带的,先通过yum进行安装:
yum -y install net-tools
(2)语法
一般可以通过命令netstat -anp
来查询所用使用的进程号、端口号,但是这样显示的信息太多了,眼花缭乱的,我们可以搭配着管道符命令和grep进行过滤我们想要查询的端口号或进程号:
netstat -anp | grep 端口号或进程号
(3)使用
我们可以看到,6000端口被10183号进程占用了。其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问