出于某些原因,您可能经常需要查找端口名称和端口号。如果是这样,你很幸运。今天,在这个简短的教程中,我们将看到一种非常简单且非常快速的方法来查找Linux系统中服务的端口号。可能有很多方法可以做到这一点,但我目前只知道以下三种。继续阅读。在Linux中查找服务的端口号方法1:使用grep命令在Linux中使用grep命令查找指定服务的默认端口号,只需运行:$grep/etc/services例如,查找SSH服务端口的默认端口号,只需运行:$grepssh/etc/services就这么简单。此命令适用于大多数Linux发行版。这是我的ArchLinux测试机的示例输出:ssh22/tcpssh22/udpssh22/sctpsshell614/tcpsshell614/udpnetconf-ssh830/tcpnetconf-ssh830/udpsdo-ssh3897/tcpsdo-ssh3897/udpnetconf-ch-ssh4334/tcpsnmpssh5161/tcpsnmpssh-trap5162/tcptl1-ssh6252/tcptl1-ssh6252/udpssh-mgmt17235/tcpssh-mgmt17235/udp在上面的输出中可以看到,默认端口号是22。找到ApacheWeb服务器的端口号。为此,命令是:$grephttp/etc/services#http://www.iana.org/assignments/port-numbershttp80/tcpwwwwww-http#万维网HTTPhttp80/udpwwwwww-http#超文本传输Protocolhttp80/sctp#超文本传输??协议https443/tcp#基于TLS/SSL的http协议https443/udp#基于TLS/SSL的http协议https443/sctp#基于TLS/SSL的http协议gss-http488/tcpgss-http488/udpwebcache8080/tcphttp-alt#WWW缓存服务webcache8080/udphttp-alt#WWW缓存服务[...]FTP端口号是多少?这很简单!$grepftp/etc/servicesftp-data20/tcpftp-data20/udp#21注册到ftp,也被fspftp21/tcpftp21/udp使用fspfspdtftp69/tcp[...]方法二:使用getent命令如您所见,上面的命令显示了指定搜索项“ssh”、“http”和“ftp”的所有端口名称和编号。这意味着,您将获得与给定搜索词匹配的所有端口名称的相当长的输出。但是,你可以使用getent命令来输出准确的结果,如下所示:$getentservicessshssh22/tcp$getentserviceshttphttp80/tcpwwwwww-http$getentservicesftpftp21/tcp如果你不知道端口名称,但知道端口号,那么您只需将端口名称替换为数字即可:$getentservices80http80/tcp要显示所有端口名称和端口号,只需运行:$getentservices方法3:使用Whatportis程序Whatportis是一个简单的Python脚本,用于查找端口名称和端口号。与上述命令不同,该程序以漂亮的表格形式输出。确保安装了pip包管理器。如果没有,请参考下面的链接。如何使用pip管理Python包安装pip后,运行以下命令安装Whatportis程序。$pipinstallwhatportis现在,您可以找到与服务关联的端口,如下所示。$whatportisssh$whatportisftp$whatportishttp我的CentOS7服务器的示例输出:在Linux中查找服务的端口号如果您不知道服务的确切名称,请使用--like标志来显示相关结果。$whatportismysql--like上面的命令可以帮助您找到与服务关联的端口。您还可以找到与端口号关联的服务,如下所示。$whatportis993您甚至可以以JSON格式显示结果。$whatportis993--json有关详细信息,请参阅GitHub存储库。这就是WhatportisGitHub存储库的全部内容。您现在知道如何使用三种简单的方法在Linux中查找端口名称和端口号。如果您知道任何其他方法/命令,请在下面的评论框中告诉我。我将相应地审查和更新本指南。