Linux查看端口占用常用指令

时间:2024-03-05 20:24:33

1. netstart指令

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。

查看系统当前被正在使用的端口信息:

netstart -lntp

参数说明

-l --listening 显示正在被监听的套接字服务
-n --numeric 不需要解析域名
-t --tcp 只显示tcp的通信信息
-p --programs 显示套接字通信的PID或者程序的名字

 

2. lsof指令

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如TC和UDP等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

查看当前系统占用5900端口的进程信息:

lsof -i :5900

参数说明

[file] 显示开启了file的进程信息
-i 用以显示符合条件的进程信息
-c [process] 显示process进程现在打开的文件信息
-c -p [PID] 列出进程号为PID的进程所打开的文件
-g [GID] 显示归属GID的进程情况
+d [path] 显示目录被进程开启的文件

查看xrdp进程打开的文件信息:

lsof -c xrdp