這是一個(gè)很重要的話題,不僅對(duì) Linux 管理員而言,對(duì)于我們大家而言也非常有幫助。我的意思是說(shuō)對(duì)于工作在 IT 基礎(chǔ)設(shè)施行業(yè)的用戶來(lái)說(shuō),了解這個(gè)話題也是非常有用的。他們需要在執(zhí)行下一步操作前,檢查 Linux 服務(wù)器上某個(gè)端口是否開(kāi)啟。
假如這個(gè)端口沒(méi)有被開(kāi)啟,則他們會(huì)直接找 Linux 管理員去開(kāi)啟它。如果這個(gè)端口已經(jīng)開(kāi)啟了,則我們需要和應(yīng)用團(tuán)隊(duì)來(lái)商量下一步要做的事。
在本篇文章中,我們將向你展示如何檢查某個(gè)端口是否開(kāi)啟的 3 種方法。
這個(gè)目標(biāo)可以使用下面的 Linux 命令來(lái)達(dá)成:
如何使用 nc(netcat)命令來(lái)查看遠(yuǎn)程 Linux 系統(tǒng)中某個(gè)端口是否開(kāi)啟?
nc 即 netcat 。 netcat 是一個(gè)簡(jiǎn)單的 Unix 工具,它使用 TCP 或 UDP 協(xié)議去讀寫(xiě)網(wǎng)絡(luò)連接間的數(shù)據(jù)。
它被設(shè)計(jì)成為一個(gè)可信賴的后端工具,可被直接使用或者簡(jiǎn)單地被其他程序或腳本調(diào)用。
與此同時(shí),它也是一個(gè)富含功能的網(wǎng)絡(luò)調(diào)試和探索工具,因?yàn)樗梢詣?chuàng)建你所需的幾乎所有類型的連接,并且還擁有幾個(gè)內(nèi)置的有趣功能。
netcat 有三類功能模式,它們分別為連接模式、監(jiān)聽(tīng)模式和隧道模式。
nc ( netcat )命令的一般語(yǔ)法:
$ nc [-options] [HostName or IP] [PortNumber]
在下面的例子中,我們將檢查遠(yuǎn)程 Linux 系統(tǒng)中的 22 端口是否開(kāi)啟。
假如端口是開(kāi)啟的,你將獲得類似下面的輸出。
# nc -zvw3 192.168.1.8 22
Connection to 192.168.1.8 22 port [tcp/ssh] succeeded!
命令詳解:
當(dāng)檢測(cè)到端口沒(méi)有開(kāi)啟,你將獲得如下輸出:
# nc -zvw3 192.168.1.95 22
nc: connect to 192.168.1.95 port 22 (tcp) failed: Connection refused
如何使用 nmap 命令來(lái)查看遠(yuǎn)程 Linux 系統(tǒng)中某個(gè)端口是否開(kāi)啟?
nmap (“Network Mapper”)是一個(gè)用于網(wǎng)絡(luò)探索和安全審計(jì)的開(kāi)源工具,被設(shè)計(jì)用來(lái)快速地掃描大規(guī)模網(wǎng)絡(luò),盡管對(duì)于單個(gè)主機(jī)它也同樣能夠正常工作。
nmap 以一種新穎的方式,使用裸 IP 包來(lái)決定網(wǎng)絡(luò)中的主機(jī)是否可達(dá),這些主機(jī)正提供什么服務(wù)(應(yīng)用名和版本號(hào)),它們運(yùn)行的操作系統(tǒng)(系統(tǒng)的版本),它們正在使用的是什么包過(guò)濾軟件或者防火墻,以及其他額外的特性。
盡管 nmap 通常被用于安全審計(jì),許多系統(tǒng)和網(wǎng)絡(luò)管理員發(fā)現(xiàn)在一些日常任務(wù)(例如羅列網(wǎng)絡(luò)資產(chǎn)、管理服務(wù)升級(jí)的計(jì)劃、監(jiān)視主機(jī)或者服務(wù)是否正常運(yùn)行)中,它也同樣十分有用。
nmap 的一般語(yǔ)法:
$ nmap [-options] [HostName or IP] [-p] [PortNumber]
假如端口是開(kāi)啟的,你將獲得如下的輸出:
# nmap 192.168.1.8 -p 22
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 03:37 IST Nmap scan report for 192.168.1.8 Host is up (0.00031s latency).
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 13.06 seconds
假如端口沒(méi)有開(kāi)啟,你將得到類似下面的結(jié)果:
# nmap 192.168.1.8 -p 80
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 04:30 IST
Nmap scan report for 192.168.1.8
Host is up (0.00036s latency).
PORT STATE SERVICE
80/tcp closed http
Nmap done: 1 IP address (1 host up) scanned in 13.07 seconds
如何使用 telnet 命令來(lái)查看遠(yuǎn)程 Linux 系統(tǒng)中某個(gè)端口是否開(kāi)啟?
telnet 命令被用來(lái)交互地通過(guò) TELNET 協(xié)議與另一臺(tái)主機(jī)通信。
telnet 命令的一般語(yǔ)法:
$ telnet [HostName or IP] [PortNumber]
假如探測(cè)成功,你將看到類似下面的輸出:
$ telnet 192.168.1.9 22
Trying 192.168.1.9...
Connected to 192.168.1.9.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
^]
Connection closed by foreign host.
假如探測(cè)失敗,你將看到類似下面的輸出:
$ telnet 192.168.1.9 80
Trying 192.168.1.9...
telnet: Unable to connect to remote host: Connection refused
當(dāng)前,我們只找到上面 3 種方法來(lái)查看遠(yuǎn)程 Linux 系統(tǒng)中某個(gè)端口是否開(kāi)啟,假如你發(fā)現(xiàn)了其他方法可以達(dá)到相同的目的,請(qǐng)?jiān)谙旅娴脑u(píng)論框中告知我們。
總結(jié)
以上所述是小編給大家介紹的查看遠(yuǎn)程 Linux 系統(tǒng)中某個(gè)端口是否開(kāi)啟的三種方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!