Tra cứu DNS ngược


13

Tất cả buổi sáng

Tôi đã được trao một tên miền có bản ghi DNS c.150k trong tổng số 100 nghìn máy. Tất cả các bản ghi DNS đều nằm trong một vùng tra cứu chuyển tiếp trên cùng một tên miền và chỉ để hữu ích, không có vùng tra cứu ngược.

Vì Scavenging và Lão hóa không phải là một lựa chọn (chỉ là may mắn của tôi!), Tôi cần tìm một cách dễ dàng để tiêu diệt vô số hồ sơ cũ.

Điểm khởi đầu đơn giản nhất đối với tôi là tìm cách xóa tất cả các bản ghi có dấu thời gian cũ hơn một năm (khoảng 2700 bản ghi) - nhưng một số trong số chúng vẫn đang phản hồi ping.

Điều lạ lùng là vì chúng tôi sử dụng DHCP và IP đã được trao cho các máy chủ mới.

Thông thường, một zoen tra cứu ngược sẽ rất hữu dụng vào lúc này để tôi có thể tìm kiếm nhiều đăng ký cho một IP, nhưng như tôi đã nói trước đây - không có cái nào cả.

Bất cứ ai cũng biết trên đỉnh đầu của bạn một cách đơn giản để tìm kiếm các bản sao? Tôi đã xem xét xuất toàn bộ sang CSV từ DNS và bắt đầu sắp xếp & lọc, nhưng với hơn 2k hồ sơ, tôi đã hy vọng điều gì đó dễ dàng hơn một chút.

Ngoài ra, do tính chất nhảm nhí của một số bộ chúng tôi chạy, chỉ cần xóa các bản ghi và cho phép đăng ký lại xảy ra không phải là một lựa chọn!

Suy nghĩ?

EDIT: không phải tất cả các máy đều được tham gia AD, do đó, một so sánh AD / DNS là không cần thiết.

EDIT 2: Nâng cao tất cả các vòng, một số gợi ý thực sự tốt ở đây! Tôi đã bắt đầu công việc xuất khẩu và comapres trong Excel, có một ping cho mỗi IP / Host đang tiến hành đăng nhập vào tệp thử nghiệm để xem cái gì là không thật và đang chờ phê duyệt thay đổi để bắt gói tin để bắt đầu theo dõi thời gian thực. Các tập lệnh này cũng hữu ích, và trong khi tôi sẽ không sử dụng chúng ở định dạng hiện tại của chúng, chúng đã cho tôi một cơ sở tốt để ghi lại nội dung của riêng tôi. Cảm ơn mọi người!

Câu trả lời:


8

Nếu bạn có thể xuất dưới dạng CSV sau đó nhập vào Excel thì bạn có thể sử dụng định dạng có điều kiện để tạo danh sách trùng lặp?

http://www.tech-recipes.com/rx353290/excel-2013-find-d repeatate-data-USE-điều kiện-formatted /


4
Xin vui lòng không sử dụng liên kết cho các giải pháp. Cung cấp giải pháp trong câu trả lời duy trì câu trả lời tốt hơn vì các liên kết có thể trở nên tồi tệ.
Paul

3
Để rõ ràng về những gì @Paul nói, tất nhiên các liên kết là muốn, nhưng không chỉ liên kết. Vì vậy, giữ liên kết trong câu trả lời, nhưng thêm những gì được viết trên mục tiêu của nó.
glglgl

Đủ công bằng! Sẽ làm trong tương lai.
Rhys Evans

6

Tôi sẽ sử dụng nmap để xác minh tất cả các máy chủ còn sống của bạn sẽ xóa phần còn lại của hồ sơ chết cho bạn. Tôi rất muốn khuyên bạn nên nhặt rác từ thời điểm này trở đi. Nghe có vẻ vui đấy :)


Điều này sẽ làm việc nếu các máy chủ luôn luôn bật. Nếu máy cũng là máy tính xách tay thì một số (hoặc rất nhiều, tùy thuộc vào hoạt động) có thể bị mất.
WoJ

4

Dưới đây là hai tập lệnh (gần như giống hệt nhau) - một để tìm IP trùng lặp và một để tìm tên trùng lặp.

#region Find duplicate name in dns records
$DupNames = Get-WmiObject -ComputerName 'dc2008' `
   -Namespace 'root\MicrosoftDNS' `
   -Class MicrosoftDNS_AType `
   -Filter "ContainerName='yadsarah.org.il'" | Select-Object RecordData, TimeStamp, OwnerName | `
Group-Object OwnerName | Where-Object {$_.Count -gt 1}

$DupNamesArr = @()
foreach ($RecordGroup in $DupNames) {
    foreach ($Record in $RecordGroup.Group) {
        $RecordObj = New-Object System.Object
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'Name' -Value $Record.OwnerName
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'IPAddress' -Value $Record.RecordData
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'TimeStamp' -Value $Record.TimeStamp
        $DupNamesArr += $RecordObj
    }
}
#endregion

#region Find duplicate IP in dns records
$DupIPs = Get-WmiObject -ComputerName 'dc2008' `
   -Namespace 'root\MicrosoftDNS' `
   -Class MicrosoftDNS_AType `
   -Filter "ContainerName='yadsarah.org.il'" | Select-Object RecordData, TimeStamp, OwnerName | `
Group-Object RecordData | ?{$_.Count -gt 1}

$DupIPArr = @()
foreach ($RecordGroup in $DupIPs) {
    foreach ($Record in $RecordGroup.Group) {

        $RecordObj = New-Object System.Object
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'Name' -Value $Record.OwnerName
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'IPAddress' -Value $Record.RecordData
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'TimeStamp' -Value $Record.TimeStamp
        $DupIPArr += $RecordObj
    }
}
#endregion

Ghi chú:

  1. Một số hệ thống (như cân bằng tải) yêu cầu một số bản ghi trùng lặp để hoạt động đúng.

  2. Bạn có thể thêm tên máy tính và IP bằng WMI, do đó xác minh bản ghi.

  3. Các bản ghi có dấu thời gian 0 là tĩnh, có nghĩa là chúng được thêm thủ công (và có nhiều khả năng là quan trọng).


2

Có thể bạn có thể ghi nhật ký tất cả các yêu cầu DNS trong đời thực trong một khoảng thời gian đủ dài (trên thực tế có thể là vài tháng nếu bạn muốn nắm bắt tập lệnh thống kê một lần một phần tư truy vấn tất cả máy in-trang-máy in-trang-máy in). Sau đó xóa tất cả các hồ sơ không bao giờ yêu cầu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.