Reverse DNS Lookups

13

Bom dia,

Recebi um domínio com registros DNS de c.150k para um total de 100 mil máquinas. Os registros DNS estão todos em uma única zona de pesquisa direta no mesmo domínio e, para ser útil, não há zona de pesquisa inversa.

Como o Scavenging and Aging não é uma opção (apenas minha sorte!), eu preciso encontrar uma maneira fácil de eliminar uma grande quantidade de registros obsoletos.

O ponto de partida mais simples para mim foi excluir todos os registros que têm um registro de data e hora mais antigo que um ano (aproximadamente 2700 registros) - mas alguns deles ainda estão respondendo ao ping.

As probabilidades são porque usamos DHCP e os IPs já foram dados a novos hosts.

Normalmente, um zoen de pesquisa reversa viria a calhar agora, para que eu possa procurar vários registros para um IP, mas como eu disse antes - não há um.

Alguém sabe do alto de suas cabeças uma maneira simples de procurar por duplicatas? Eu considerei uma exportação completa para CSV do DNS e comece a classificar & filtrando, mas para mais de 2k registros, eu estava esperando por algo um pouco mais fácil.

Além disso, devido à natureza ruim de alguns dos kits que executamos, apenas excluir os registros e permitir que um novo registro ocorra não é uma opção!

Pensamentos?

EDIT: nem todas as máquinas são associadas ao AD, portanto, uma comparação entre AD / DNS está fora de questão.

EDIT 2: Upvotes todo, algumas sugestões muito boas aqui! Eu já comecei a trabalhar com exportações e compres no Excel, tenho um ping para cada IP / Host em log de progresso para um arquivo de teste para ver o que é e não é real e estou aguardando aprovação de alteração para uma captura de pacote para iniciar o monitoramento em tempo real. Esses scripts também são úteis, e embora eu não os use no formato atual, eles me deram uma boa base para preparar minhas próprias coisas. Obrigado a todos!

    
por Fazer87 31.12.2014 / 12:31

4 respostas

8

Se você pode exportar como um CSV e depois importar para o Excel, então você pode usar a formatação condicional para gerar uma lista de duplicatas?

link

    
por 31.12.2014 / 13:04
6

Eu usaria o nmap para verificar todos os seus hosts vivos que deveriam limpar o resto dos registros mortos para você. Eu recomendaria strongmente a eliminação deste ponto para a frente embora. Parece divertido embora:)

    
por 31.12.2014 / 13:06
4

Aqui estão dois scripts (quase idênticos) - um para encontrar um IP duplicado e outro para encontrar nomes duplicados.

#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

Notas:

  1. Alguns sistemas (como o balanceamento de carga) exigem alguns registros duplicados para funcionar corretamente.

  2. Você pode adicionar o nome do computador e o IP usando o WMI, verificando, assim, o registro.

  3. Registros com registro de data e hora 0 são estáticos, o que significa que foram adicionados manualmente (e são mais propensos a serem importantes).

por 31.12.2014 / 21:28
2

Talvez você possa registrar todas as solicitações de DNS reais por um período de tempo suficientemente longo (isso pode, na verdade, levar vários meses se você quiser pegar o script de estatísticas de uma vez por trimestre para todas as impressoras ). Em seguida, exclua todos os registros nunca solicitados.

    
por 31.12.2014 / 16:29