由于某些原因,你可能經(jīng)常需要查找端口名稱和端口號(hào)。
-- Sk(作者)
由于某些原因,你可能經(jīng)常需要查找端口名稱和端口號(hào)。如果是這樣,你很幸運(yùn)。今天,在這個(gè)簡(jiǎn)短的教程中,我們將看到在 linux 系統(tǒng)中最簡(jiǎn)單、最快捷的查找服務(wù)端口號(hào)的方法。可能有很多方法可以做到,但我目前只知道以下三種方法。請(qǐng)繼續(xù)閱讀。
在 Linux 中查找服務(wù)的端口號(hào)
方法1:使用 grep 命令
要使用 grep 命令在 Linux 中查找指定服務(wù)的默認(rèn)端口號(hào),只需運(yùn)行:
$ grep <port> /etc/services
例如,要查找 SSH 服務(wù)的默認(rèn)端口,只需運(yùn)行:
$ grep ssh /etc/services
就這么簡(jiǎn)單。此命令應(yīng)該適用于大多數(shù) Linux 發(fā)行版。以下是我的 Arch Linux 測(cè)試機(jī)中的示例輸出:
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 服務(wù)的默認(rèn)端口號(hào)是 22。
讓我們找到 Apache Web 服務(wù)器的端口號(hào)。為此,命令是:
$ 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 端口號(hào)是什么?這很簡(jiǎn)單!
$ 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 命令
如你所見(jiàn),上面的命令顯示指定搜索詞 “ssh”、“http” 和 “ftp” 的所有端口名稱和數(shù)字。這意味著,你將獲得與給定搜索詞匹配的所有端口名稱的相當(dāng)長(zhǎng)的輸出。
但是,你可以使用 getent 命令精確輸出結(jié)果,如下所示:
$ getent services ssh ssh 22/tcp $ getent services http http 80/tcp www www-http $ getent services ftp ftp 21/tcp
如果你不知道端口名稱,但是知道端口號(hào),那么你只需將端口名稱替換為數(shù)字:
$ getent services 80 http 80/tcp
要顯示所有端口名稱和端口號(hào),只需運(yùn)行:
$ getent services
方法 3:使用 Whatportis 程序
Whatportis 是一個(gè)簡(jiǎn)單的 Python 腳本,來(lái)用于查找端口名稱和端口號(hào)。與上述命令不同,此程序以漂亮的表格形式輸出。
確保已安裝 pip 包管理器。如果沒(méi)有,請(qǐng)參考以下鏈接。
- 如何使用 pip 管理 Python 包
安裝 pip 后,運(yùn)行以下命令安裝 Whatportis 程序。
$ pip install whatportis
現(xiàn)在,你可以找到與服務(wù)關(guān)聯(lián)的端口,如下所示。
$ whatportis ssh $ whatportis ftp $ whatportis http
我的 centos 7 服務(wù)器的示例輸出:
在 Linux 中查找服務(wù)的端口號(hào)
如果你不知道服務(wù)的確切名稱,請(qǐng)使用 –like 標(biāo)志來(lái)顯示相關(guān)結(jié)果。
$ whatportis MySQL --like
上述命令幫助你查找與服務(wù)關(guān)聯(lián)的端口。你還可以找到與端口號(hào)相關(guān)聯(lián)的服務(wù),如下所示。
$ whatportis 993
你甚至可以以 JSON 格式顯示結(jié)果。
$ whatportis 993 --json
有關(guān)更多詳細(xì)信息,請(qǐng)參閱 GitHub 倉(cāng)庫(kù)。
- Whatportis GitHub 倉(cāng)庫(kù)
就是這些了。你現(xiàn)在知道了如何使用三種簡(jiǎn)單方法在 Linux 中查找端口名稱和端口號(hào)。如果你知道任何其他方法/命令,請(qǐng)?jiān)谙旅娴脑u(píng)論欄告訴我。我會(huì)查看并更相應(yīng)地更新本指南。
via: https://www.ostechnix.com/how-to-find-the-port-number-of-a-service-in-linux/
作者: sk 選題: lujun9972 譯者: geekpi 校對(duì): wxy
本文由 LCTT 原創(chuàng)編譯, Linux中國(guó) 榮譽(yù)推出