前段时间有学生问到,怎么查看 linux系统中已经被占用的端口?下面就统一给大家解释一下。
提到端口,那首先来回顾端口定义,为了区分一台主机接收到的数据包应该转交给哪个任务来进行处理,使用端口号来区别;我们知道TCP端口号与UDP端口号独立,也就是说TCP和UDP可以使用相同的端口号,总所周知,5000以内的端口号是被占用的,那怎么查看已经被占用的端口号呢?
第一种:通过命令查看
1.netstat -ntulp:查看所有的被占用的端口
在列表中最后一列就列出了,某个端口被占用的进程
其中:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
使用时注意:普通用户下加上sudo
2.netstat -ntulp | grep 端口号:可以具体查看某一个端口号
使用netstat和grep命令进行组合,查看自己想查看的端口
第二种:通过文件查看
vi /etc/services:查看已经用过的端口