2011-12-14 16:43:50 +0000 2011-12-14 16:43:50 +0000
162
162

Comment puis-je adresser une requête à un serveur DNS spécifique ?

Je souhaite adresser une requête à un serveur DNS spécifique, dont je connais l'adresse IP. Peu importe que ce soit sous Windows ou *nix.

Sous Windows, je peux faire quelque chose comme :

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com
Server: DNSs2.Uni-Marburg.DE
Address: 137.248.21.22

Non-authoritative answer:
Name: superuser.com
Address: 64.34.119.12

Mais cela utilise les paramètres DNS de la machine locale. Je voudrais plutôt interroger un serveur DNS spécifique pour vérifier s'il répond correctement à mes requêtes ou s'il y répond tout court.

Donc, il devrait s'agir de quelque chose comme :

nslookup --dns-ip=8.8.8.8 superuser.com

Réponses (8)

210
210
210
2011-12-14 16:54:16 +0000

Pour les enregistrements de base A et CNAME, vous pouvez simplement faire

nslookup somewhere.com some.dns.server
Usage: 
   nslookup [-opt ...] # interactive mode using default server
   nslookup [-opt ...] - server # interactive mode using 'server'
   nslookup [-opt ...] host # just look up 'host' using default server
   nslookup [-opt ...] host server # just look up 'host' using 'server'

ou si vous tapez simplement nslookup sans aucun paramètre, vous pouvez faire beaucoup plus d'options…

Commands: (identifiers are shown in uppercase, [] means optional)
NAME - print info about the host/domain NAME using default server
NAME1 NAME2 - as above, but use NAME2 as server
help or ? - print info on common commands
set OPTION - set an option
    all - print options, current server and host
    [no]debug - print debugging information
    [no]d2 - print exhaustive debugging information
    [no]defname - append domain name to each query
    [no]recurse - ask for recursive answer to query
    [no]search - use domain search list
    [no]vc - always use a virtual circuit
    domain=NAME - set default domain name to NAME
    srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc.
    root=NAME - set root server to NAME
    retry=X - set number of retries to X
    timeout=X - set initial time-out interval to X seconds
    type=X - set query type (ex. A,AAAA,A+AAAA,ANY,CNAME,MX,NS,PTR,SOA,SRV)
    querytype=X - same as type
    class=X - set query class (ex. IN (Internet), ANY)
    [no]msxfr - use MS fast zone transfer
    ixfrver=X - current version to use in IXFR transfer request
server NAME - set default server to NAME, using current default server
lserver NAME - set default server to NAME, using initial server
root - set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
    -a - list canonical names and aliases
    -d - list all records
    -t TYPE - list records of the given RFC record type (ex. A,CNAME,MX,NS,PTR etc.)
view FILE - sort an 'ls' output file and view it with pg
exit - exit the program
11
11
11
2011-12-14 16:50:55 +0000

Le simple fait de creuser dans les options de nslookup, que vous pouvez afficher si vous invoquez nslookup, puis de taper help dans le mode interactif de nslookup m'a donné la bonne réponse :

C:\Documents and Settings\Anton Daneyko>nslookup help
Server: DNSs2.Uni-Marburg.DE
Address: 137.248.21.22

*** DNSs2.Uni-Marburg.DE can't find help: Non-existent domain

C:\Documents and Settings\Anton Daneyko>nslookup
Default Server: DNSs2.Uni-Marburg.DE
Address: 137.248.21.22

> stackoverflow.com 8.8.8.8
Server: [8.8.8.8]
Address: 8.8.8.8

Non-authoritative answer:
Name: stackoverflow.com
Address: 64.34.119.12
7
7
7
2015-09-22 13:20:36 +0000

Oui, C:\Documents and Settings\Anton Daneyko>nslookup superuser.com va rechercher votre propre serveur DNS pour trouver l'adresse IP de superuser.com. Si vous ajoutez l'adresse IP ou le nom d'un autre serveur DNS à la ligne de commande, il recherchera l'adresse IP de superuser.com sur ce serveur DNS. Ex :

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 8.8.4.4
Server: google-public-dns-b.google.com
Address: 8.8.4.4

Non-authoritative answer:
Name: superuser.com
Addresses: 190.93.245.58
      190.93.246.58
      141.101.114.59
      190.93.247.58
      190.93.244.58

Au fait, 8.8.4.4 est l'adresse IP des serveurs DNS de Google.

Mais, les deux réponses ci-dessus donnent des “réponses non autorisées”, car aucune d'entre elles n'est SOA, qui est l'autorité pour le domaine superuser.com. Les deux ont une copie en cache qui a été propagée à partir de la SOA. Si vous voulez demander au serveur faisant autorité, trouvez d'abord le nom de l'adresse IP du serveur faisant autorité, en utilisant la commande :

C:\Documents and Settings\Anton Daneyko>nslookup -type=ns superuser.com
Server: DNSs2.Uni-Marburg.DE
Address: 137.248.21.22

Non-authoritative answer:
superuser.com nameserver = cf-dns02.superuser.com
superuser.com nameserver = cf-dns01.superuser.com

cf-dns02.superuser.com internet address = 173.245.59.4
cf-dns02.superuser.com AAAA IPv6 address = 2400:cb00:2049:1::adf5:3b04
cf-dns01.superuser.com AAAA IPv6 address = 2400:cb00:2049:1::adf5:3a35
cf-dns01.superuser.com internet address = 173.245.58.53

. Vous obtiendrez alors une réponse non autorisée de votre serveur DNS local, de l'université de Marburg, indiquant tous les serveurs faisant autorité pour le domaine superuser.com. Vous pouvez ensuite utiliser la commande que nous avons utilisée précédemment pour demander à l'un des 4 serveurs faisant autorité, comme suit :

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 173.245.59.4
Server: cf-173-245-59-4.cloudflare.com
Address: 173.245.59.4

Name: superuser.com
Addresses: 141.101.114.59
      190.93.246.58
      190.93.245.58
      190.93.247.58
      190.93.244.58

Comme vous le voyez, cette fois le serveur SOA faisant autorité a renvoyé les adresses ip, d'où le fait que vous ne voyez plus le commentaire “Réponse non-autoritaire”. Cela est particulièrement utile, lorsque vous avez créé un nouveau nom de domaine ou changé d'hébergeur ou transféré vers un autre bureau d'enregistrement de domaine, et que vous ne pouvez pas accéder à votre site web, car les nouvelles adresses IP ne se sont pas propagées, même après 24 heures. Vous pouvez alors commencer par la SOA et vérifier que votre adresse IP correcte est donnée par le serveur DNS, puis la suivre plus loin dans l'arbre. Il est bon de vérifier si les serveurs DNS de Google ont reçu les modifications, et enfin si votre serveur DNS local peut résoudre votre nom de domaine pour corriger l'adresse IP.

1
1
1
2017-09-24 20:07:36 +0000

Pour rechercher des types d'enregistrements autres que les enregistrements A et AAAA (et CNAME) par défaut renvoyés par nslookup, en utilisant le serveur DNS spécifié :

nslookup -q=<record type> <host> <DNS server>

Par exemple, pour renvoyer des enregistrements MX pour le domaine stackexchange.com en utilisant le serveur DNS 8.8.4.4, la commande serait :

nslookup -q=MX stackexchange.com 8.8.4.4
1
1
1
2016-03-30 20:02:05 +0000

Pour changer votre serveur DNS par défaut dans nslookup, vous pouvez simplement changer le serveur en tapant le nom du serveur ou l'adresse IP de DNS. Dans l'exemple ci-dessous, j'ai changé mon serveur DNS par défaut (192.168.50.21) pour un nouveau (4.2.2.3)

C:\Windows\system32>nslookup

Default Server : UnKnown

Adresse : 192.168.50.21

serveur 4.2.2.3

Serveur par défaut : c.resolvers.level3.net

Adresse : 4.2.2.3

>

Maintenant je suis prêt à faire des requêtes contre 4.2.2.3 versus 192.168.50.21

0
0
0
2018-10-05 09:42:11 +0000

Je travaille sur Openwrt 18.06.1 ARMv6 Raspberry pi et je mets en place des tor dns ainsi que dnscrypt-proxy donc j'ai eu un problème très similaire. La cause fondamentale est que l'isp local intercepte des réponses non sécurisées de root-servers.net, des réponses qui disent que le site n'a pas été trouvé, puis redirige vers leur propre site web. Bien que ce ne soit pas une grande faille de sécurité, je ne la trouve pas particulièrement utile non plus.

Le premier test à faire lorsqu'on interroge une adresse spécifique est en fait d'essayer une adresse invalide, pour s'assurer que vous obtenez une réponse nulle correcte lorsque vous utilisez les paramètres du serveur, du port et de l'hôte. Il existe de nombreux guides et versions et il est facile de penser que vous faites un test de port alors qu'en fait il s'agit de répondre à partir de résultats mis en cache ou de serveurs par défaut. Après avoir obtenu une réponse nulle, il faut travailler avec une adresse de serveur et un port actifs. Les ports actifs peuvent être affichés sur openwrt avec netstat -plnt mais notez que certaines commandes de routeur peuvent devoir être installées au préalable. Le service tor que j'ai défini sur le port 9053 n'apparaît pas ici mais fonctionne toujours après avoir ajouté DNSPort 127.0.0.1:9053 au fichier torrc. Le format nslookup sur cette plateforme accepte les paramètres [hôte] et [serveur] et je peux tester tor dns avec nslookup cnn.com 127.0.0.1#9053 Je peux tester dnscrypt avec la commande nslookup cnn. com 127.0.0.1#5353 Changer pour des numéros de port ou des domaines invalides obtient une réponse ; ; connexion interrompue ; aucun serveur n'a pu être joint Dig fonctionne également sur openwrt mais doit être installé à partir du paquet bind-dig. dig -q 127.0.0.1 -p 9053 www.bbc.com Et échoue à nouveau pour les ports invalides. Dans mon cas, le problème a été résolu lorsque j'ai modifié les entrées dans /etc/config/network et que j'ai défini l'option dns ‘127.0.0.1’ pour les réseaux où j'utilisais auparavant des entrées dns non sécurisées.

0
0
0
2018-10-12 11:59:26 +0000

Pour les fenêtres, ce que vous pouvez rechercher est présenté dans l'article suivant : https://technet.microsoft.com/en-us/library/ff394369.aspx

0
0
0
2011-12-14 16:50:27 +0000

vous pouvez configurer le DNS primaire à utiliser avec votre connexion. Allez dans les propriétés de votre connexion => Internet Procol (TCP/IP). (l'endroit où vous pouvez définir une IP statique) Ici, vous pouvez définir manuellement le DNS que vous souhaitez utiliser pour chaque connexion. Après avoir testé, vous pouvez toujours revenir à sa valeur précédente.