在NMAP的官方說明中~預設,NMAP host discovery時會針對每台主機進行 port scan,彈性高的NMAP列出了16種方式,分別採取了不同的方式來執行並取得在線的主機有哪些,我們就挑幾個來進行測試吧!
list scan - 不會傳送任何的封包到目標主機,而且預設會列出IP的反解析名稱,取得名稱後,我們就有機會從名稱來識別該設備是否是我們有興趣的目標,例如設備名稱是 fw.chi,那我們就可以知道他可能是該目標在芝加哥的防火牆。如果目標主機名稱我們無法識別,那麼就值得我們更進一步去調查。不過list scan速度快但更高階的port scan或是作業系統探測等就不會再進行掃描。
nmap -sL [目標IP]
取得 10.8.8.61和10.8.8.64的相關資訊
No port scan – 即不做 port scan 直接查看設備是否在線上,而且只會顯示出有回應的目標主機,但比list scan更具侵略性,結果則是和 list scan 類似,而知道目標網段中有多少主機在線上,便是我們最終的目標,從下圖可得知IP對應到的主機名稱及MAC Address。在預設的 -sn 包含了ICMP echo request、TCP SYN 到 port 443、TCP ACK 到 port 80, 以及一個ICMP timestamp request。當特權帳號嘗試掃描網段目標時,除非指定了--send-ip,否則將只使用ARP request。-sn 這個參數可以和其他的參數共用,彈性很高~
而在早期的 NMAP 版本中, -sn 又被寫成 -sP,所以使用 -sP 也是可以的哦!
不指定 --send-ip 的情況下得到回覆
nmap -sn [目標IP]
nmap -sn --send-ip [目標IP]
在 Windows 2012 上看到的封包狀態
從下圖可看到ICMP echo request、SYN (TCP 443)、ACK (TCP 80)及ICMP timestamp request的封包
以上是兩個 host discovery 的方式,明天我們會繼續其他的測試~