Membalikkan Pencarian DNS

13

Semua pagi,

Saya telah menyerahkan domain dengan catatan DNS c.150k di dalamnya dengan total 100k mesin. Catatan DNS semuanya dalam satu zona pencarian maju pada domain yang sama dan hanya untuk membantu, tidak ada zona pencarian terbalik.

Karena Scavenging dan Aging bukanlah suatu pilihan (hanya keberuntunganku!), Saya perlu menemukan cara mudah untuk membunuh banyak catatan basi.

Titik awal yang paling sederhana bagi saya adalah menghapus semua catatan yang memiliki stempel waktu lebih dari satu tahun (sekitar 2.700 catatan) - tetapi beberapa di antaranya masih merespons ping.

Kemungkinannya adalah ini karena kami menggunakan DHCP dan sejak itu IP telah diberikan kepada host baru.

Biasanya reverse lookup zoen akan sangat berguna sekarang sehingga saya bisa mencari beberapa pendaftaran untuk IP, tetapi seperti yang saya katakan sebelumnya - tidak ada satu.

Adakah yang tahu dari atas kepala Anda cara sederhana untuk mencari duplikat? Saya telah mempertimbangkan ekspor penuh ke CSV dari DNS dan mulai menyortir & memfilter, tetapi untuk lebih dari 2k catatan, saya berharap untuk sesuatu yang sedikit lebih mudah.

Juga, karena sifat jelek dari beberapa kit yang kami jalankan, hanya menghapus catatan dan memungkinkan pendaftaran ulang terjadi bukanlah suatu pilihan!

Pikiran ?

EDIT: tidak semua mesin bergabung dengan AD, jadi perbandingan AD / DNS tidak ada pertanyaan.

EDIT 2: Suara positif semua, beberapa saran yang sangat bagus di sini! Saya sudah mulai bekerja pada ekspor dan comapres di Excel, memiliki ping untuk setiap IP / Host dalam proses masuk ke file uji untuk melihat apa yang nyata dan tidak dan saya menunggu persetujuan perubahan untuk paket capture untuk memulai pemantauan realtime. Skrip-skrip itu juga berguna, dan sementara saya tidak akan menggunakannya dalam format mereka saat ini, mereka memberi saya dasar yang bagus untuk meremehkan barang-barang saya sendiri. Terimakasih semuanya!

Fazer87
sumber

Jawaban:

8

Jika Anda dapat mengekspor sebagai CSV kemudian mengimpor ke Excel maka Anda dapat menggunakan pemformatan bersyarat untuk menghasilkan daftar duplikat?

http://www.tech-recipes.com/rx/35290/excel-2013-find-duplicate-data-using-conditional-formatting/

Rhys Evans
sumber
4
Tolong jangan gunakan tautan untuk solusi. Memberikan solusi dalam jawaban akan mempertahankan jawaban dengan lebih baik karena tautan dapat memburuk.
Paul
3
Agar lebih jelas tentang apa yang dikatakan @Paul, tentu saja tautan diinginkan, tetapi bukan hanya tautan. Jadi pertahankan tautan dalam jawaban, tetapi tambahkan apa yang tertulis pada targetnya.
glglgl
Cukup adil! Harus dilakukan di masa depan.
Rhys Evans
6

Saya akan menggunakan nmap untuk memverifikasi semua host hidup Anda yang akan menghapus sisa catatan mati untuk Anda. Saya akan sangat menyarankan memulung dari titik ini ke depan. Kedengarannya sangat menyenangkan :)

Optichip
sumber
Ini akan berhasil jika host selalu aktif. Jika mesin juga laptop maka beberapa (atau banyak, tergantung pada aktivitas) dapat hilang.
WoJ
4

Berikut adalah dua skrip (yang hampir identik) - satu untuk menemukan duplikat IP dan satu untuk menemukan nama duplikat.

#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

Catatan:

  1. Beberapa sistem (seperti load balancing) memerlukan beberapa catatan duplikat agar berfungsi dengan baik.

  2. Anda dapat menambahkan nama komputer dan IP menggunakan WMI, sehingga memverifikasi catatan.

  3. Catatan dengan timestamp 0 bersifat statis, artinya ditambahkan secara manual (dan lebih cenderung penting).

EliadTech
sumber
2

Mungkin Anda dapat mencatat semua permintaan DNS kehidupan nyata untuk jangka waktu yang cukup lama (ini mungkin sebenarnya beberapa bulan jika Anda ingin menangkap skrip statistik sekali-per-kuartal-kueri-semua-printer-halaman-semua-printer). Kemudian hapus semua catatan yang tidak pernah diminta.

Hagen von Eitzen
sumber