歡迎光臨
每天分享高質量文章

查看遠程 Linux 系統中某個端口是否開啟的 3 種方法 | Linux 中國

我的意思是說對於工作在 IT 基礎設施行業的用戶來說,瞭解這個話題也是非常有用的。他們需要在執行下一步操作前,檢查 Linux 服務器上某個端口是否開啟。

— Magesh Maruthamuthu

 

這是一個很重要的話題,不僅對 Linux 管理員而言,對於我們大家而言也非常有幫助。我的意思是說對於工作在 IT 基礎設施行業的用戶來說,瞭解這個話題也是非常有用的。他們需要在執行下一步操作前,檢查 Linux 服務器上某個端口是否開啟。

假如這個端口沒有被開啟,則他們會直接找 Linux 管理員去開啟它。如果這個端口已經開啟了,則我們需要和應用團隊來商量下一步要做的事。

在本篇文章中,我們將向你展示如何檢查某個端口是否開啟的 3 種方法。

這個標的可以使用下麵的 Linux 命令來達成:

◈ nc:netcat 是一個簡單的 Unix 工具,它使用 TCP 或 UDP 協議去讀寫網絡連接間的資料。
◈ nmap:(“Network Mapper”)是一個用於網絡探索和安全審計的開源工具,被設計用來快速地掃描大規模網絡。
◈ telnet:被用來交互地通過 TELNET 協議與另一臺主機通信。

如何使用 nc(netcat)命令來查看遠程 Linux 系統中某個端口是否開啟?

nc 即 netcatnetcat 是一個簡單的 Unix 工具,它使用 TCP 或 UDP 協議去讀寫網絡連接間的資料。

它被設計成為一個可信賴的後端工具,可被直接使用或者簡單地被其他程式或腳本呼叫。

與此同時,它也是一個富含功能的網絡除錯和探索工具,因為它可以創建你所需的幾乎所有型別的連接,並且還擁有幾個內置的有趣功能。

netcat 有三類功能樣式,它們分別為連接樣式、監聽樣式和隧道樣式。

ncnetcat)命令的一般語法:

  1. $ nc [-options] [HostName or IP] [PortNumber]

在下麵的例子中,我們將檢查遠程 Linux 系統中的 22 端口是否開啟。

假如端口是開啟的,你將獲得類似下麵的輸出。

  1. # nc -zvw3 192.168.1.8 22
  2. Connection to 192.168.1.8 22 port [tcp/ssh] succeeded!

命令詳解:

◈ nc:即執行的命令主體;
◈ z:零 I/O 樣式(被用來掃描);
◈ v:顯式地輸出;
◈ w3:設置超時時間為 3 秒;
◈ 192.168.1.8:標的系統的 IP 地址;
◈ 22:需要驗證的端口。

當檢測到端口沒有開啟,你將獲得如下輸出:

  1. # nc -zvw3 192.168.1.95 22
  2. nc: connect to 192.168.1.95 port 22 (tcp) failed: Connection refused

如何使用 nmap 命令來查看遠程 Linux 系統中某個端口是否開啟?

nmap(“Network Mapper”)是一個用於網絡探索和安全審計的開源工具,被設計用來快速地掃描大規模網絡,儘管對於單個主機它也同樣能夠正常工作。

nmap 以一種新穎的方式,使用裸 IP 包來決定網絡中的主機是否可達,這些主機正提供什麼服務(應用名和版本號),它們運行的操作系統(系統的版本),它們正在使用的是什麼包過濾軟體或者防火牆,以及其他額外的特性。

儘管 nmap 通常被用於安全審計,許多系統和網絡管理員發現在一些日常任務(例如羅列網絡資產、管理服務升級的計劃、監視主機或者服務是否正常運行)中,它也同樣十分有用。

nmap 的一般語法:

  1. $ nmap [-options] [HostName or IP] [-p] [PortNumber]

假如端口是開啟的,你將獲得如下的輸出:

  1. # nmap 192.168.1.8 -p 22
  2. 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).
  3. PORT STATE SERVICE
  4. 22/tcp open ssh
  5. Nmap done: 1 IP address (1 host up) scanned in 13.06 seconds

假如端口沒有開啟,你將得到類似下麵的結果:

  1. # nmap 192.168.1.8 -p 80
  2. Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 04:30 IST
  3. Nmap scan report for 192.168.1.8
  4. Host is up (0.00036s latency).
  5. PORT STATE SERVICE
  6. 80/tcp closed http
  7. Nmap done: 1 IP address (1 host up) scanned in 13.07 seconds

如何使用 telnet 命令來查看遠程 Linux 系統中某個端口是否開啟?

telnet 命令被用來交互地通過 TELNET 協議與另一臺主機通信。

telnet 命令的一般語法:

  1. $ telnet [HostName or IP] [PortNumber]

假如探測成功,你將看到類似下麵的輸出:

  1. $ telnet 192.168.1.9 22
  2. Trying 192.168.1.9...
  3. Connected to 192.168.1.9.
  4. Escape character is '^]'.
  5. SSH-2.0-OpenSSH_5.3
  6. ^]
  7. Connection closed by foreign host.

假如探測失敗,你將看到類似下麵的輸出:

  1. $ telnet 192.168.1.9 80
  2. Trying 192.168.1.9...
  3. telnet: Unable to connect to remote host: Connection refused

當前,我們只找到上面 3 種方法來查看遠程 Linux 系統中某個端口是否開啟,假如你發現了其他方法可以達到相同的目的,請在下麵的評論框中告知我們。

 

赞(0)

分享創造快樂