知乐空间

Linux如何查询哪些端口被占用(如何查看某个端口被谁占用)

在Linux或类unix系统下如何判断端口是否被占用?如何检查Linux服务器上哪些端口被占用?Linux如何使用命令行检查端口是否已经被占用?

Linux端口占用查询

找出服务器网络接口上哪些端口被占用非常重要。您需要查询开放端口来检测入侵。除了入侵之外,为了排除故障,可能需要检查服务器上的其他应用程序是否已经使用了某个端口。例如,您可以在同一系统上安装Apache和Nginx服务器。因此,需要知道Apache还是Nginx使用的是TCP端口80还是443。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口和查看正在使用该端口的应用程序的步骤。

如何查询端口是否在用:检查Linux上占用的端口和应用;

第一步:打开终端

步骤2:执行以下任一命令来检查已占用的端口

检查端口22是否被占用:

较新版本的Linux使用以下查询命令:

方法一:使用lsof命令查询占用端口,首先安装lsof命令RHEL/CentOS系统:

使用lsof命令查询被占用的端口。

Debian/Ubuntu系统安装lsof命令

使用以下语法

OpenBSD

通过lsof查询占用的端口。

看到如下输出:

Sshd是进程名TCP 22,表示sshd进程占用TCP 22端口,LISTEN)1243表示sshd进程号。

方法二:使用netstat查询占用的端口号。

默认情况下,较新的Linux发行版不再集成netstat命令,而是使用新命令ss。要使用netstat命令,您需要手动安装网络工具套件:RHEL/CentOS系统安装网络工具套件,并执行以下命令:

Debian/Ubuntu系统执行以下命令:

Linux安装netstat命令来查询占用的端口号。

您可以使用netstat查询已占用的端口和应用程序,如下所示。执行以下命令查询:

使用netstat查询已占用的端口和应用程序

在Linux上,netstat命令已经被弃用了一段时间。因此,您需要使用ss命令,如下所示:

或者:

使用ss命令查询占用的端口号

其中,ss命令选项如下:-t:只显示Linux上的TCP套接字-u:只显示Linux上的UDP套接字-l:监听套接字。例如,TCP端口22由SSHD服务器打开。-p:列出打开套接字的进程的名称-n:不解析服务名称,即不使用DNS。

FreeBSD/MacOS X netstat语法FreeBSD/MacOS X查询被占用的端口

或者

OpenBSD netstat语法OpenBSD查询被占用的端口

或者

方法三:使用nmap '命令查询Linux被占用的端口。

默认情况下,Linux发行版默认不安装nmap命令,CentOS系统安装nmap。

Ubuntu系统安装nmap

使用nmap查询这台机器被占用的端口。

查询Linux系统占用的UDP端口

查询Linux系统占用的TCP端口

使用nmap命令查询Linux被占用的端口

您可以同时查询已占用的TCP和UDP端口

结论:

本教程解释了如何使用命令行来查询在Linux系统上TCP或UDP端口是否被占用。有关更多信息,请参见nmap命令和lsof命令页面。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: