在 Linux 中怎么查找服务的端口号

由于某些原因,你可能经常需要查找端口名称和端口号。如果是这样,你很幸运。今天,在这个简短的教程中,我们将看到在 Linux 系统中最简单、最快捷的查找服务端口号的方法。可能有很多方法可以做到,但我目前只知道以下三种方法。请继续阅读。

在 Linux 中查找服务的端口号

方法1:使用 grep 命令

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

$ grep <port> /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

有关更多详细信息,请参阅 GitHub 仓库。

Whatportis GitHub 仓库

就是这些了。你现在知道了如何使用三种简单方法在 Linux 中查找端口名称和端口号。

 

 

版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

猜你还会喜欢下面的内容

    无相关信息

中国领先的互联网域名及云服务提供商

为您提供域名,比特币,P2P,大数据,云计算,虚拟主机,域名交易最新资讯报道

域名注册云服务器