千家信息网

Linux系统中怎么查找端口名称和端口号

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章将为大家详细讲解有关Linux系统中怎么查找端口名称和端口号,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法1:使用 grep 命令要使用 grep 命令
千家信息网最后更新 2024年11月30日Linux系统中怎么查找端口名称和端口号

这篇文章将为大家详细讲解有关Linux系统中怎么查找端口名称和端口号,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

方法1:使用 grep 命令

要使用 grep 命令在 Linux 中查找指定服务的默认端口号,只需运行:

 $ grep  /etc/services

例如,要查找 SSH 服务的默认端口,只需运行:

 $ grep ssh /etc/services

就这么简单。此命令应该适用于大多数 Linux 发行版。以下是我的 Arch Linux 测试机中的示例输出:

 ssh 22/tcp ssh 22/udp ssh 22/sctp sshell 614/tcp sshell 614/udp netconf-ssh 830/tcp netconf-ssh 830/udp sdo-ssh 3897/tcp sdo-ssh 3897/udp netconf-ch-ssh 4334/tcp snmpssh 5161/tcp snmpssh-trap 5162/tcp tl1-ssh 6252/tcp tl1-ssh 6252/udp ssh-mgmt 17235/tcp ssh-mgmt 17235/udp

正如你在上面的输出中所看到的,SSH 服务的默认端口号是 22。

让我们找到 Apache Web 服务器的端口号。为此,命令是:

 $ grep http /etc/services # http://www.iana.org/assignments/port-numbers http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol http 80/sctp # HyperText Transfer Protocol https 443/tcp # http protocol over TLS/SSL https 443/udp # http protocol over TLS/SSL https 443/sctp # http protocol over TLS/SSL gss-http 488/tcp gss-http 488/udp webcache 8080/tcp http-alt # WWW caching service webcache 8080/udp http-alt # WWW caching service [...]

FTP 端口号是什么?这很简单!

 $ grep ftp /etc/services ftp-data 20/tcp ftp-data 20/udp # 21 is registered to ftp, but also used by fsp ftp 21/tcp ftp 21/udp fsp fspd tftp 69/tcp [...]

方法 2:使用 getent 命令

如你所见,上面的命令显示指定搜索词 "ssh"、"http" 和 "ftp" 的所有端口名称和数字。这意味着,你将获得与给定搜索词匹配的所有端口名称的相当长的输出。

但是,你可以使用 getent 命令精确输出结果,如下所示:

 $ getent services ssh ssh 22/tcp  $ getent services http http 80/tcp www www-http  $ getent services ftp ftp 21/tcp

如果你不知道端口名称,但是知道端口号,那么你只需将端口名称替换为数字:

 $ getent services 80 http 80/tcp

要显示所有端口名称和端口号,只需运行:

 $ getent services

方法 3:使用 Whatportis 程序

Whatportis 是一个简单的 Python 脚本,来用于查找端口名称和端口号。与上述命令不同,此程序以漂亮的表格形式输出。

确保已安装 pip 包管理器。如果没有,请参考以下链接。

  • 如何使用 pip 管理 Python 包

安装 pip 后,运行以下命令安装 Whatportis 程序。

 $ pip install whatportis

现在,你可以找到与服务关联的端口,如下所示。

 $ whatportis ssh  $ whatportis ftp  $ whatportis http

我的 CentOS 7 服务器的示例输出:

在 Linux 中查找服务的端口号

如果你不知道服务的确切名称,请使用 –like 标志来显示相关结果。

 $ whatportis mysql --like

上述命令帮助你查找与服务关联的端口。你还可以找到与端口号相关联的服务,如下所示。

 $ whatportis 993

你甚至可以以 JSON 格式显示结果。

 $ whatportis 993 --json

关于"Linux系统中怎么查找端口名称和端口号"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0