Network-Monitoring

使用 nmap 僅 Ping 作業系統檢測?

  • July 11, 2013

我有興趣使用 nmap 進行發現,並找出每個主機的作業系統。我知道 nmap 可以做到這一點,並且可以按照手冊頁中的說明啟用和控制:

通過以下選項啟用和控制作業系統檢測:

-O(啟用作業系統檢測)。

啟用作業系統檢測,如上所述。或者,您可以使用 -A 來啟用作業系統檢測以及其他功能。–osscan-limit(將作業系統檢測限制為有希望的目標)。如果找到至少一個打開和一個關閉的 TCP 埠,作業系統檢測會更加有效。設置此選項,Nmap 甚至不會嘗試對不符合此條件的主機進行作業系統檢測。這可以節省大量時間,尤其是在對許多主機進行 -Pn 掃描時。僅當使用 -O 或 -A 請求作業系統檢測時才重要。–osscan-猜測;–fuzzy(猜測作業系統檢測結果)。當 Nmap 無法檢測到完美的作業系統匹配時,它有時會提供近似匹配作為可能性。預設情況下,Nmap 必須非常接近匹配才能執行此操作。這些(等效)選項中的任何一個都使 Nmap 猜測更加積極。Nmap 仍然會告訴您何時列印出不完美的匹配,並顯示每次猜測的可信度(百分比)。–max-os-tries(設置針對目標的作業系統檢測嘗試的最大次數)。當 Nmap 對目標執行 OS 檢測並未能找到完美匹配時,它通常會重複嘗試。預設情況下,如果條件有利於 OS 指紋送出,Nmap 會嘗試五次,如果條件不太好,Nmap 會嘗試兩次。指定較低的 –max-os-tries 值(例如 1)會加速 Nmap,但您會錯過可能辨識作業系統的重試。或者,當條件有利時,可以設置一個較高的值以允許更多的重試。很少這樣做,除了生成更好的指紋送出和集成到 Nmap OS 數據庫中。

我的問題是是否可以禁用作業系統檢測過程的埠掃描部分。考慮到手冊頁似乎不可能,但原則上似乎並非不合理。

Nmap 至少需要 1 個封閉埠和 1 個開放埠才能進行可靠的作業系統匹配。預設情況下,Nmap 的埠掃描會掃描 1000 個 TCP 埠。您可以通過減少掃描埠的數量來減少埠掃描階段所需的時間。這是一個很好的集合,它很有可能導致 1 個打開和 1 個關閉埠:

nmap -p 22,80,445,65123,56123 -O scanme.nmap.org

這將僅掃描列出的 5 個埠,這是正常掃描的 0.5%。

手冊頁中指定了“-sn”選項來禁用埠掃描,但 nmap 會抱怨作業系統檢測在沒有埠掃描的情況下不可靠。

http://nmap.org/book/man-briefoptions.html

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