Nmap

Nmap:從範圍內查找空閒 IP

  • April 5, 2018

有沒有辦法掃描網路上的免費 IP?我使用nmap -sP 192.168.1.0/24,但這實際上顯示主機已啟動。

像這樣使用 Nmap 是一種相當準確的方式來做你所要求的,前提是一些先決條件是真實的:

  1. 您必須以 root(或 Windows 上的管理員)身份執行掃描才能發送 ARP 請求,而不是 TCP 連接。否則,掃描可能會在簡單地設置防火牆時將地址報告為“關閉”。
  2. 您只能從與您正在掃描的地址範圍相同的數據鏈路(第 2 層)上的系統執行此操作。否則,Nmap 將需要使用可以被防火牆阻止的網路層探測。

為了獲取“可用”地址,您需要獲取 Nmap 報告為“關閉”的地址列表。你可以用一個簡單的 awk 命令來做到這一點:

sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

使用的 Nmap 選項總結:

  • 當您使用該-v選項時,Nmap 會將它找到的地址列印為“向下”以及“向上”的地址。
  • 而不是-sP,我替換了較新的拼寫-sn,它仍然完成相同的掃描,但意味著“跳過埠掃描”而不是誤導性的“Ping 掃描”(因為主機發現階段並不一定意味著 ICMP Echo 掃描或 Ping )。
  • -n選項會跳過反向 DNS 查找,這會為您爭取一些時間,因為您對名稱不感興趣,而只對 IP 地址感興趣。
  • -oG選項告訴 Nmap 輸出grepable格式,這對 awk 來說更容易處理。參數 " -" 告訴它將此輸出發送到標準輸出。

然後 awk 命令搜尋“Status: Down”並列印包含 IP 地址的第二個欄位。

當然,如果您有權訪問交換機的執行配置或 DHCP 伺服器的租約,則無需進行可能引發安全警報的掃描即可更權威地獲得此答案。

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