Domain

了解加入某個域的電腦總數

  • March 6, 2017

我的問題聽起來很簡單。是否有任何工具可以知道網路中屬於某個域的電腦總數?我使用nmap ( Zenmap ) 掃描網路,然後查看 FQDN 以檢查域名,但結果不准確,因為當我這樣做時,一些電腦已離線(停機)。我說的是近 1000 台電腦。

我需要任何能夠主動掃描網路並將主機保存在數據庫中的工具。因此,我在一周內使用了 AlienVault 的 OSSIM,並將結果導出為 .csv 文件(包含所有電腦)。到目前為止,我很好,但是有一個問題,當電腦加入域時,域控制器會保持電腦的名稱與 IP 相關聯,即使電腦“離開”網路也是如此。因此,當 OSSIM(或 nmap)詢問 192.XYZ IP 的名稱時,它會獲取先前電腦的名稱。這導致認為新機器(具有先前機器的 IP 地址)在域中,而實際上不在域中。如果我錯了,請糾正我。所以我會把那台機器算作域機器,並得到錯誤的加入域的電腦總數。

那麼,是否有更技術性(不解析 FQDN)的方式來“詢問”機器:您是否在“ domain.net ”域中?我只想“聽到”(來自機器)。

回答這個問題比看起來更難,因為機器是否“加入”可以用許多不同的方式來解釋。您想要的答案取決於結果數據的用途。

從根本上說,只要機器擁有有效的電腦帳戶憑據,它就可以加入域,它可以用來向域控制器進行身份驗證。

如果外部程序更改了該電腦帳戶上的密碼,禁用該帳戶,或者只是從 AD 中刪除它,客戶端電腦仍然會認為它已加入,直到它嘗試進行身份驗證並且不能再進行身份驗證。因此,您不能真正依賴客戶端可靠地回答問題,除非客戶端實際執行成功的身份驗證以提供答案。在大規模域中這樣做也會造成巨大的資源浪費。

我需要任何能夠主動掃描網路並將主機保存在數據庫中的工具。

你很幸運。Active Directory 已經在本機為您執行此操作。除其他外,它還跟踪加入自己數據庫的電腦。它甚至知道這些電腦上一次成功通過身份驗證的時間。如果您需要將數據導出到不同的數據庫,最好只查詢 Active Directory 中的數據,而不是掃描整個網路。

有多種方法可以做到這一點,每種方法在時間準確性和難度方面各有利弊。查詢lastLogonTimestamp屬性的任何 DC 是最簡單但最不准確的方法,因為它的設計方式。該lastLogon屬性要準確得多,但您必須單獨詢問每個 DC 的值並使用最新的值作為您的答案。如果您需要近乎實時的更新,則基本上需要在發生電腦登錄事件時處理所有 DC 的安全事件日誌。這通常涉及使用某種集中的事件日誌收集服務。

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