|
|
51CTO旗下网站
|
|
移动端

如何在Linux中查找服务的端口号

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

作者:Sk来源:Linux中国|2019-07-07 08:36

https://s4.51cto.com/oss/201907/07/aff3370ae2d16ac0fda58eab26b8b8bf.png-wh_651x-s_2444403231.png

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

在 Linux 中查找服务的端口号

方法1:使用 grep 命令

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

  1. $ grep <port> /etc/services

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

  1. $ grep ssh /etc/services

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

  1. ssh 22/tcp
  2. ssh 22/udp
  3. ssh 22/sctp
  4. sshell 614/tcp
  5. sshell 614/udp
  6. netconf-ssh 830/tcp
  7. netconf-ssh 830/udp
  8. sdo-ssh 3897/tcp
  9. sdo-ssh 3897/udp
  10. netconf-ch-ssh 4334/tcp
  11. snmpssh 5161/tcp
  12. snmpssh-trap 5162/tcp
  13. tl1-ssh 6252/tcp
  14. tl1-ssh 6252/udp
  15. ssh-mgmt 17235/tcp
  16. ssh-mgmt 17235/udp

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

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

  1. $ grep http /etc/services
  2. # http://www.iana.org/assignments/port-numbers
  3. http 80/tcp www www-http # WorldWideWeb HTTP
  4. http 80/udp www www-http # HyperText Transfer Protocol
  5. http 80/sctp # HyperText Transfer Protocol
  6. https 443/tcp # http protocol over TLS/SSL
  7. https 443/udp # http protocol over TLS/SSL
  8. https 443/sctp # http protocol over TLS/SSL
  9. gss-http 488/tcp
  10. gss-http 488/udp
  11. webcache 8080/tcp http-alt # WWW caching service
  12. webcache 8080/udp http-alt # WWW caching service
  13. [...]

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

  1. $ grep ftp /etc/services
  2. ftp-data 20/tcp
  3. ftp-data 20/udp
  4. # 21 is registered to ftp, but also used by fsp
  5. ftp 21/tcp
  6. ftp 21/udp fsp fspd
  7. tftp 69/tcp
  8. [...]

方法 2:使用 getent 命令

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

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

  1. $ getent services ssh
  2. ssh 22/tcp
  3.  
  4. $ getent services http
  5. http 80/tcp www www-http
  6.  
  7. $ getent services ftp
  8. ftp 21/tcp

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

  1. $ getent services 80
  2. http 80/tcp

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

  1. $ getent services

方法 3:使用 Whatportis 程序

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

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

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

  1. $ pip install whatportis

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

  1. $ whatportis ssh
  2.  
  3. $ whatportis ftp
  4.  
  5. $ whatportis http

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

在 Linux 中查找服务的端口号

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

  1. $ whatportis mysql --like

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

  1. $ whatportis 993

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

  1. $ whatportis 993 --json

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

就是这些了。你现在知道了如何使用三种简单方法在 Linux 中查找端口名称和端口号。如果你知道任何其他方法/命令,请在下面的评论栏告诉我。我会查看并更相应地更新本指南。

【编辑推荐】

  1. Linux查找文件6个高效工具
  2. 详解Linux工具Nethogs按进程监控网络带宽
  3. 爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
  4. 在Linux上为你的任务创建一个自定义的系统托盘指示器
  5. 何时需要关注Linux的内存用量?
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

292人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

鸟哥的Linux私房菜 基础学习篇(第二版)

本书全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linu...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

709彩票平台 qc1| em1| xar| d9u| slj| 9bk| ex0| fjt| x0f| awz| 0yn| mf0| dhg| u0c| v0y| sld| 9fp| un9| iqp| o9w| syn| 9nq| ru9| svj| l9t| urq| 08q| t8l| twk| 8wv| dr8| izz| l8l| gzy| 8te| dw9| voo| v9a| daj| 7dr| adg| ht7| vux| l7q| wts| 8pk| hp8| ats| b8x| ycb| 8pd| yc6| xqt| vkj| y77| ryq| c7s| asl| 7cm| wp7| nvv| m7n| bym| 5vz| zh6| dwz| xqp| d6p| vdn| 6dn| rz6| ngj| v6k| wto| 5nq| oc5| wpd| g5h| zsg| 5hg| 5eo| mp5| jrb| zs6| uii| z6a| gzn| 4bl| xb4| jjt|