web-dev-qa-db-fra.com

DNS recherche avec des caractères génériques?

Quelque chose comme nslookup ou Dig Offrez la possibilité de rechercher en fonction de quelque chose contenu dans le nom ... comme une recherche sauvage ou quelque chose?

J'essaie de faire un petit script avec une wrapper d'interface graphique pour notre équipe d'assistance. Idéalement, j'aimerais qu'ils puissent rechercher le nom de famille de l'utilisateur (quelque chose qui est toujours présent dans l'enregistrement DNS), puis je vais remplir une pulldown avec les options possibles à choisir.

Je suis incapable de trouver un moyen d'avoir efficacement l'équivalent de nslookup *miller* ... ce serait génial de revenir ensuite

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

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

..qui je pourrais alors analyser dans une pulldown pour les choisir.

Je n'ai pas encore regardé ce qui est disponible avec ldapsearch qui peut être capable de faire ce que je cherche. Ma seule exigence est que cela est intégré à OSX et je n'aurai pas besoin d'installer autre chose, sinon je suis ouvert à toutes les solutions que vous pouvez offrir. Merci

8
TryTryAgain

Vous pouvez obtenir une liste complète d'entrées dans une zone avec un transfert de zone; Vous auriez besoin d'autoriser ceci pour les systèmes autorisés de votre serveur DNS.

Une fois que cela est fait, vous pouvez exécuter le transfert et le grep le résultat:

Dig axfr localdomain.com | grep -i miller
11
Shane Madden

Vous ne pouvez demander qu'un serveur DNS s'il a un enregistrement spécifique. Donc, non, il n'y aura pas d'outil de ce type pour DNS.

Éditer

Zonetransfer est bien sûr une possibilité si elle est disponible.

6

Un serveur de noms ne vous laissera pas, par conception, vous permettra de rechercher une zone ou de requête quelles zones il est faisant autorité. Au-delà de la raison évidente de réduire les vecteurs d'attaque (vous ne pouvez pas faire de demande http/1.1 à un hôte si vous ne connaissez pas son nom), il y a une très bonne raison pour cela: une zone peut contenir des caractères génériques lui-même, alors demandez-vous. Pour chaque hôte dans une zone une zone est comme la division par zéro.

Si vous utilisez le serveur de noms dont les enregistrements que vous souhaitez rechercher, vous pouvez effectuer un transfert de zone sur un serveur de noms local et rechercher directement les enregistrements. Vous aurez toujours besoin d'analyser les enregistrements de texte dans tout format qu'ils sont transférés, car un serveur de noms local ne répondra aucun différent.

6
dartonw

D'accord avec la réponse vérifiée, j'ai pensé qu'une boucle de boucle pourrait être une alternative à une personne qui n'est pas autorisée à effectuer un transfert de zone. Si vous connaissez la gamme IP:

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

J'ai regardé cette réponse parce que je voulais ouvrir mon bureau à un utilisateur local Whos IP et nom de la machine que je ne savais pas.

1
user456228