

技术|如何在 Linux 中查找服务的端口号
source link: https://linux.cn/article-11066-1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

由于某些原因,你可能经常需要查找端口名称和端口号。如果是这样,你很幸运。今天,在这个简短的教程中,我们将看到在 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 后,运行以下命令安装 Whatportis 程序。
$ pip install whatportis
现在,你可以找到与服务关联的端口,如下所示。
$ whatportis ssh
$ whatportis ftp
$ whatportis http
我的 CentOS 7 服务器的示例输出:

在 Linux 中查找服务的端口号
如果你不知道服务的确切名称,请使用 –like
标志来显示相关结果。
$ whatportis mysql --like
上述命令帮助你查找与服务关联的端口。你还可以找到与端口号相关联的服务,如下所示。
$ whatportis 993
你甚至可以以 JSON 格式显示结果。
$ whatportis 993 --json

有关更多详细信息,请参阅 GitHub 仓库。
就是这些了。你现在知道了如何使用三种简单方法在 Linux 中查找端口名称和端口号。如果你知道任何其他方法/命令,请在下面的评论栏告诉我。我会查看并更相应地更新本指南。
via: https://www.ostechnix.com/how-to-find-the-port-number-of-a-service-in-linux/
作者:sk 选题:lujun9972 译者:geekpi 校对:wxy
Recommend
-
95
如何在Linux中查找最大的10个文件
-
38
-
68
导读 SSH端口默认是22了,我们为了服务器的安全一般会把SSH端口22修改成其它的端口好了,下文小编来各位整理一篇SSH端口修改教程供各位参考.
-
62
“计划赶不上变化快”的IPv6在这几年的各大论坛上屡屡被呼吁“尽快部署”,时至今日,万物互联、5G等又对IPv6提出了更新的需求。到底何时部署完成?如何部署?在近日的“全球下一代互联网峰会”上,运营商给出了实际行动。
-
11
如何在 Linux 系统里查找并删除重复相片 | Linux 中国点击打开了很多相似的相片?同样的相片保存在不同文件夹里?我理解这种感受。来源:
-
11
在了解Zombie 进程之前,让我回忆一下什么是 Linux 中的进程。简而言之,进程是程序实例。它可以是前台(交互式进程)或后台(非交互式或自动进程)。它可以是父进程(运行时其他进程的创...
-
7
如何在 Linux 中按内存和 CPU 使用率查找运行次数最多的进程-51CTO.COM 如何在 Linux 中按内存和 CPU 使用率查找运行次数最多的进程 作者:雪竹频道 2022-04-06 06:35:58 使用命令方便、轻巧,并...
-
15
在 Linux 中查找文件和目录是任何系统管理员的基本技能。fd 命令是一个命令行工具,用于在 Linux 中查找文件...
-
9
Linux中常见的网络端口号 作者:刘光录 2022-11-15 21:21:06 本文我们将介绍一些网络端口的基础知识、端口的范围以及一些最常见的端口。
-
5
awk 如何在 Linux 使用 sed 查找和替换文件字符串 sed 是一个轻量级 stream 流编辑器。它可以对文件和输入流执行基本的文本操作 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK