[Mac] 使用 nmap 來搜尋區域網路上的 ESXi server
最近公司的部門在搬家,搬到同一棟大樓的另外一層樓,
除了搬了人仰馬翻以外,網路的設置也是一大問題,
匆匆忙忙把兩台工作機器和一台 ESXi server 都開機後,就下班了,
回到家才發現 ESXi 上的幾台 VM 連不到…
究竟是 ESXi server 開機失敗、沒連上網路,還是 VM 沒開機呢?
當然理論上只要上班之後,再去 ESXi 那台機器上查看,
就能知道 ESXi 有無開機成功,以及目前的 IP 是多少了~
不過畢竟隔了個週末,還是想先試試看能不能查出來…
已知的線索是:如果這台 ESXi 有連上網路的話,
蠻有可能是在 10.1.1.x 或 10.1.2.x 這兩個網段上~
要解決這個問題,可以用 nmap 來掃掃看這兩個網段上的電腦,
看有沒有開了 ESXi 在用的幾個 port 的,
再真的用 VMware vSphere client 去連連看,就知道是不是我的那台了~
參考資料:Nmap for Mac OS X Explores Networks, Scans Ports, and More
1. 安裝 nmap
在 Mac 上安裝 nmap,Homebrew 和 Homebrew Cask 都提供了一版 nmap,
Homebrew 的版本似乎是直接在 Mac 上編譯的,
而 Homebrew Cask 的版本是直接下載一個 .dmg 安裝,
那就選擇 Homebrew Cask 的版本吧:
brew cask install nmap
2. 決定要掃的範圍
要掃的 IP range 已經知道了,大約是 10.1.1.x 和 10.1.2.x 這兩個網段~
但直接去掃這麼多機器上所有的 port 不太好,很有可能被認為是在做入侵探測,
所以鎖定幾個 ESXi 會開放的 port 可以減少 port scan 的數量~
參考一下 VMware Knowledge Base: Required ports for ESXi 5.1.x,
這邊列出了 ESXi 會用到的 port,不過並不是每個 port 預設都會打開,
依照以往經驗,443 和 902 這兩個 TCP port 是一定會開的~
(以結果論來說,TCP 的 8000 和 8100 port 似乎也都是會開的):
– TCP/443: vSphere Client to ESXi/ESX host management connection
– TCP/902: vSphere Client access to virtual machine consoles (MKS)
– TCP/8000: Requests from vMotion
– TCP/8100: Traffic between hosts for vSphere Fault Tolerance (FT)
3. 使用 nmap 做 port scan
使用 nmap 指令加上 -p 參數來指定要掃的 port,T: 代表 TCP port,
最後再加上要掃的 IP 範圍:
nmap -p T:443,902 10.1.1-2.*
掃出來的結果長長一串,最好還是導到檔案去,再用編輯器來看比較方便~
再去找裡面兩個 port 都是 open 狀態的,就蠻有可能是 ESXi server~
Nmap scan report for 10.1.1.3 Host is up (0.0053s latency). PORT STATE SERVICE 443/tcp open https 902/tcp open iss-realsecure
當然如果加上更多的 port 的話,信心度會更高,
不過其實我就直接用 vSphere Client 去連連看,就能確定是不是 ESXi server 了,
連的進去且帳號密碼正確的,就是我的那台 ESXi server 囉~
這邊是用 nmap 直接去掃那台 ESXi server 的結果,
基本上 443, 902, 8000, 8100 這幾個 port 都會開:
testuser@localhost ~ $ nmap 10.1.1.3 Starting Nmap 6.47 ( http://nmap.org ) at 2015-09-11 23:10 CST Nmap scan report for 10.1.1.3 Host is up (0.016s latency). Not shown: 990 filtered ports PORT STATE SERVICE 22/tcp closed ssh 80/tcp open http 427/tcp closed svrloc 443/tcp open https 902/tcp open iss-realsecure 5988/tcp closed wbem-http 8000/tcp open http-alt 8080/tcp open http-proxy 8100/tcp open xprint-server 8300/tcp closed tmi Nmap done: 1 IP address (1 host up) scanned in 5.01 seconds
最後也確實成功找到我的 ESXi server,nmap 功不可沒呀~~^^