Nmap

檢查遠端主機/埠是否打開 - 無法使用 GNU Netcat 或 NMap - RHEL 7

  • April 25, 2019

在工作中,基礎架構團隊正在推出安裝了 RHEL7 作為基本作業系統的新 VM。此特定圖像隨nmap-ncatNetcat 版本一起提供,並且沒有安裝 NMap。我們被禁止在機器上安裝任何東西。

以前,我們使用 GNU Netcat,它可以-z選擇掃描遠端主機/埠以檢查它是否打開。像這樣的東西:

nc -z -v -w 3 remote.host.name 1234

如何在無法安裝的系統上使用ncat沒有選項的新版本進行相同的檢查?-z``nmap

Bash 允許您通過重定向到特殊文件來連接到 TCP 和/或 UDP 埠:

/dev/tcp/host/port如果 host 是一個有效的主機名或 Internet 地址,並且 port 是一個整數埠號或服務名,Bash 會嘗試打開相應的 TCP 套接字。

/dev/udp/host/port如果 host 是一個有效的主機名或 Internet 地址,並且 port 是一個整數埠號或服務名,Bash 會嘗試打開相應的 UDP 套接字。

打開或創建文件失敗會導致重定向失敗。

因此,要測試您是否可以連接到 www.example.com 上的埠 80,以下應該可以工作:

echo -n > /dev/tcp/www.example.com/80

如果埠被阻止,您將收到“連接被拒絕”消息或超時。

引用自:https://serverfault.com/questions/788934