首頁 > 軟體

如何在 Linux 中查詢服務的埠號

2020-06-16 16:34:54

由於某些原因,你可能經常需要查詢埠名稱和埠號。如果是這樣,你很幸運。今天,在這個簡短的教學中,我們將看到在 Linux 系統中最簡單、最快捷的查詢伺服器端口號的方法。可能有很多方法可以做到,但我目前只知道以下三種方法。請繼續閱讀。

在 Linux 中查詢服務的埠號

方法1:使用 grep 命令

要使用 grep 命令在 Linux 中查詢指定服務的預設埠號,只需執行:

  1. $ grep<port>/etc/services

例如,要查詢 SSH 服務的預設埠,只需執行:

  1. $ grepssh/etc/services

就這麼簡單。此命令應該適用於大多數 Linux 發行版。以下是我的 Arch Linux 測試機中的範例輸出:

  1. ssh22/tcp
  2. ssh22/udp
  3. ssh22/sctp
  4. sshell 614/tcp
  5. sshell 614/udp
  6. netconf-ssh830/tcp
  7. netconf-ssh830/udp
  8. sdo-ssh3897/tcp
  9. sdo-ssh3897/udp
  10. netconf-ch-ssh4334/tcp
  11. snmpssh 5161/tcp
  12. snmpssh-trap 5162/tcp
  13. tl1-ssh6252/tcp
  14. tl1-ssh6252/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 #HyperTextTransferProtocol
  5. http 80/sctp #HyperTextTransferProtocol
  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. #21is 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. ssh22/tcp
  3. $ getent services http
  4. http 80/tcp www www-http
  5. $ getent services ftp
  6. 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. $ whatportis ftp
  3. $ whatportis http

我的 CentOS 7 伺服器的範例輸出:

在 Linux 中查詢服務的埠號

如果你不知道服務的確切名稱,請使用 –like 標誌來顯示相關結果。

  1. $ whatportis mysql --like

上述命令幫助你查詢與服務關聯的埠。你還可以找到與埠號相關聯的服務,如下所示。

  1. $ whatportis 993

你甚至可以以 JSON 格式顯示結果。

  1. $ whatportis 993--json

有關更多詳細資訊,請參閱 GitHub 倉庫。

就是這些了。你現在知道了如何使用三種簡單方法在 Linux 中查詢埠名稱和埠號。如果你知道任何其他方法/命令,請在下面的評論欄告訴我。我會檢視並更相應地更新本指南。

via:ostechnix


IT145.com E-mail:sddin#qq.com