這是一個很重要的話題,不只對 Linux 管理員而言,對於咱們你們而言也很是有幫助。個人意思是說對於工做在 IT 基礎設施行業的用戶來講,瞭解這個話題也是很是有用的。他們須要在執行下一步操做前,檢查 Linux 服務器上某個端口是否開啓。linux
假如這個端口沒有被開啓,則他們會直接找 Linux 管理員去開啓它。若是這個端口已經開啓了,則咱們須要和應用團隊來商量下一步要作的事。後端
在本篇文章中,咱們將向你展現如何檢查某個端口是否開啓的 3 種方法。安全
這個目標可使用下面的 Linux 命令來達成:服務器
如何使用 nc(netcat)命令來查看遠程 Linux 系統中某個端口是否開啓?網絡
nc 即 netcat。netcat 是一個簡單的 Unix 工具,它使用 TCP 或 UDP 協議去讀寫網絡鏈接間的數據。app
它被設計成爲一個可信賴的後端工具,可被直接使用或者簡單地被其餘程序或腳本調用。ssh
與此同時,它也是一個富含功能的網絡調試和探索工具,由於它能夠建立你所需的幾乎全部類型的鏈接,而且還擁有幾個內置的有趣功能。tcp
netcat 有三類功能模式,它們分別爲鏈接模式、監聽模式和隧道模式。工具
nc(netcat)命令的通常語法:操作系統
$ nc [-options] [HostName or IP] [PortNumber]
在下面的例子中,咱們將檢查遠程 Linux 系統中的 22 端口是否開啓。
假如端口是開啓的,你將得到相似下面的輸出。
# nc -zvw3 192.168.1.8 22 Connection to 192.168.1.8 22 port [tcp/ssh] succeeded!
命令詳解:
當檢測到端口沒有開啓,你將得到以下輸出:
# nc -zvw3 192.168.1.95 22 nc: connect to 192.168.1.95 port 22 (tcp) failed: Connection refused
如何使用 nmap 命令來查看遠程 Linux 系統中某個端口是否開啓?
nmap(「Network Mapper」)是一個用於網絡探索和安全審計的開源工具,被設計用來快速地掃描大規模網絡,儘管對於單個主機它也一樣可以正常工做。
nmap 以一種新穎的方式,使用裸 IP 包來決定網絡中的主機是否可達,這些主機正提供什麼服務(應用名和版本號),它們運行的操做系統(系統的版本),它們正在使用的是什麼包過濾軟件或者防火牆,以及其餘額外的特性。
儘管 nmap 一般被用於安全審計,許多系統和網絡管理員發如今一些平常任務(例如羅列網絡資產、管理服務升級的計劃、監視主機或者服務是否正常運行)中,它也一樣十分有用。
nmap 的通常語法:
$ nmap [-options] [HostName or IP] [-p] [PortNumber]
假如端口是開啓的,你將得到以下的輸出:
# 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
假如端口沒有開啓,你將獲得相似下面的結果:
# 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 命令來查看遠程 Linux 系統中某個端口是否開啓?
telnet 命令被用來交互地經過 TELNET 協議與另外一臺主機通訊。telnet 命令的通常語法:
$ telnet [HostName or IP] [PortNumber]
假如探測成功,你將看到相似下面的輸出:
$ 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.
假如探測失敗,你將看到相似下面的輸出:
$ telnet 192.168.1.9 80 Trying 192.168.1.9... telnet: Unable to connect to remote host: Connection refused
當前,咱們只找到上面 3 種方法來查看遠程 Linux 系統中某個端口是否開啓,假如你發現了其餘方法能夠達到相同的目的,請在下面的評論框中告知咱們。