浅谈Linux查找服务端口号 - 极悦
首页 课程 师资 教程 报名

浅谈Linux查找服务端口号

  • 2021-01-06 17:29:55
  • 969次 极悦

在Linux系统中,由于某些原因,我们可能经常需要查找端口名称和端口号。端口号代表了服务器中所提供的服务,而ip地址则代表了服务器的具体地址,因此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

以上就是在 Linux 查找端口端口号和名称的三种简单方法,一般情况下足以满足我们的需求,对于我们处理程序网络串线的问题有很大的帮助。在本站的Linux教程中还有着许多我们不曾接触过的Linux知识,让我们在开拓视野的同时,学习新的知识。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交