Procura DNS com curingas?

7

Algo como nslookup ou dig oferece a capacidade de pesquisar com base em algo contido no nome ... como uma pesquisa de caractere curinga ou algo assim?

Estou tentando fazer um pequeno script com um wrapper de GUI para nossa equipe de helpdesk. Idealmente, eu gostaria que eles pudessem pesquisar o sobrenome do usuário (algo que está sempre presente no registro DNS) e, em seguida, preencherei um menu suspenso com as opções possíveis para escolher.

Não consigo encontrar uma maneira de efetivamente ter o equivalente a nslookup *miller* ... seria ótimo voltar ...

Name: sf-jacobmiller.localdomain.com
Address: 10.10.10.121

Name: sf-justinmiller.localdomain.com
Address: 10.10.10.144

.. que eu poderia então analisar em um suspenso para eles escolherem.

Eu ainda não examinei o que está disponível com ldapsearch , que pode ser capaz de fazer o que estou procurando. Meu único requisito é que isso seja incorporado ao OSX e não precisarei instalar mais nada, caso contrário, estou aberto a qualquer solução que você possa oferecer. Obrigado

    
por TryTryAgain 06.03.2013 / 02:26

4 respostas

11

Você pode obter uma lista completa de entradas em uma zona com uma transferência de zona; você precisaria permitir isso para sistemas autorizados em seu servidor DNS.

Uma vez feito isso, você pode executar a transferência e grep o resultado:

dig axfr localdomain.com | grep -i miller
    
por 06.03.2013 / 02:45
6

Um servidor de nomes não permitirá, por design, pesquisar uma zona ou consultar quais zonas é autoritativa. Além da razão óbvia de reduzir vetores de ataque (você não pode fazer uma solicitação HTTP / 1.1 para um host se não souber o nome dele), há uma boa razão para isso: uma zona pode conter caracteres curingas, portanto, para cada host em tal zona é como dividir por zero.

Se você operar o servidor de nomes cujos registros deseja pesquisar, poderá fazer uma transferência de zona para um servidor de nomes local e pesquisar os registros diretamente. Você ainda precisará analisar os registros de texto em qualquer formato em que sejam transferidos, pois um servidor de nomes local não responderá de forma diferente.

    
por 06.03.2013 / 02:51
6

Você só pode pedir a um servidor DNS se tiver um registro específico. Então, não haverá essa ferramenta para o DNS.

Editar

Zonetransfer é uma possibilidade, se disponível.

    
por 06.03.2013 / 02:30
0
Concordando com a resposta verificada, achei que um loop for poderia ser uma alternativa para alguém que não está autorizado a fazer uma transferência de zona. Se você conhece o intervalo de IPs:

name="mthebeau"
net="123.45.67."
for ip in $( seq 1 255 ); do {
    sleep 1; # be kind to the server, unauthorized user
    text="$( nslookup $net$ip 2>&1 | grep "$name" )";
    if [ -z "$text" ]; then continue; fi;
    echo "$text";
}; do

Eu procurei essa resposta porque queria abrir minha área de trabalho para um usuário local com nome de IP e de máquina que eu não conhecia.

    
por 12.02.2018 / 15:55