Como posso direcionar uma consulta para um servidor DNS específico?

127

Gostaria de enviar uma consulta para um servidor DNS específico, cujo endereço IP eu conheço. Não importa se é no Windows ou * nix.

No Windows, posso fazer algo como:

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

Mas isso usa as configurações de DNS da máquina local. Em vez disso, gostaria de consultar um servidor DNS específico para testar se ele está respondendo às minhas consultas corretamente ou respondendo de maneira alguma.

Portanto, deve ser algo como:

nslookup --dns-ip=8.8.8.8 superuser.com
    
por Anton Daneyko 14.12.2011 / 17:43

8 respostas

167

Para registros básicos A e CNAME, você pode simplesmente fazer

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 se você apenas digitar nslookup sem nenhum parâmetro, você pode fazer muito mais opções ...

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
    
por 14.12.2011 / 17:54
9

Basta pesquisar as opções do nslookup, que podem ser exibidas se você invocar nslookup e digitar help dentro do modo interativo nslookup, me deu a resposta certa:

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
    
por 14.12.2011 / 17:50
7

Sim,   C:\Documents and Settings\Anton Daneyko>nslookup superuser.com procurará seu próprio servidor DNS para descobrir o endereço IP de superuser.com. Se você adicionar o endereço IP ou o nome de um servidor DNS diferente à linha de comando, ele consultará esse servidor DNS para o endereço IP de superuser.com. 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

A propósito, 8.8.4.4 é o endereço IP dos servidores DNS do Google.

Mas, ambos os itens acima fornecem "Respostas não autoritativas", como nenhuma delas SOA, que é a autoridade do domínio superuser.com. Ambos têm uma cópia em cache que foi propagada da SOA. Se você quiser perguntar ao servidor autoritativo, primeiro descubra o nome do endereço IP do servidor autoritativo, usando o comando:

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

Isso retornará uma resposta não autoritativa do seu servidor DNS local, da Marburg Uni, nomeando todos os servidores autoritativos para o superuser.com. Em seguida, você pode usar o comando que usamos anteriormente para perguntar a qualquer um dos quatro servidores autoritativos, da seguinte maneira:

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

Como você pode ver, desta vez o servidor SOA autoritário retornou os endereços IP, portanto, você não vê mais o comentário "Resposta não autoritativa". Isso é particularmente útil quando você criou um novo nome de domínio ou alterou os provedores de hospedagem ou transferiu-os para um registrador de domínios diferente e não consegue acessar seu site, pois os novos endereços IP não se propagaram mesmo após 24 horas. Em seguida, você pode começar com a SOA e verificar se o endereço IP correto é fornecido pelo servidor DNS e, em seguida, seguir mais adiante na árvore. É bom verificar se os servidores DNS do Google receberam as alterações e, por último, se o servidor DNS local pode resolver seu nome de domínio para corrigir o endereço IP.

    
por 22.09.2015 / 15:20
1

Para alterar seu servidor DNS padrão no nslookup, você pode simplesmente alterar o servidor digitando o servidor NAMEorIPofDNS Neste exemplo abaixo, mudei meu servidor DNS padrão (192.168.50.21) para um novo (4.2.2.3)

C: \ Windows \ system32 & nslookup

Servidor padrão: Desconhecido

Endereço: 192.168.50.21

server 4.2.2.3

Servidor padrão: c.resolvers.level3.net

Endereço: 4.2.2.3

>

Agora estou pronto para fazer consultas contra 4.2.2.3 versus 192.168.50.21

    
por 30.03.2016 / 22:02
0

você pode configurar o DNS primário para ser usado com sua conexão.
Vá para suas propriedades de conexão = > Internet Procol (TCP / IP). (o lugar onde você pode definir um IP estático)
Aqui você pode definir manualmente qual DNS você deseja usar para cada conexão.
Após o teste, você pode sempre alterá-lo de volta para seu valor anterior.

    
por 14.12.2011 / 17:50
0

Obtenha tipos de registro específicos do servidor DNS especificado com um comando

Para procurar tipos de registro diferentes dos registros padrão A e AAAA (e CNAME) retornados pelo nslookup, usando o servidor DNS que você especificar:

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

Por exemplo, para retornar registros MX para o domínio stackexchange.com usando o servidor DNS 8.8.4.4 , o comando seria:

nslookup -q=MX stackexchange.com 8.8.4.4
    
por 24.09.2017 / 22:07
0
Estou trabalhando em OpenWrt 18.06.1 ARMv6 Raspberry pi e configuração para DNS, bem como dnscrypt-proxy, então tive um problema muito semelhante. A causa raiz é que o isp local está interceptando respostas inseguras de root-servers.net, respostas que dizem que o site não foi encontrado e redirecionando para seu próprio site. Embora não seja uma grande falha de segurança, também não acho particularmente útil.

O primeiro teste a ser feito ao consultar um endereço específico é, na verdade, tentar um endereço inválido, para garantir que você receba uma resposta nula adequada ao usar os parâmetros server, port e host. Há muitos guias e versões, e é É fácil pensar que você está fazendo um teste de porta quando, na verdade, está respondendo a partir de resultados em cache ou servidores padrão. Depois de obter uma resposta nula, trabalhe com um endereço e uma porta do servidor ativo. As portas ativas podem ser mostradas no openwrt com netstat -plnt, mas observe que alguns comandos do roteador podem precisar ser instalados primeiro. O serviço tor que eu configurei na porta 9053 não aparece aqui, mas ainda funciona depois de adicionar o DNSPort 127.0.0.1:9053 ao arquivo torrc. O formato nslookup nesta plataforma aceita parâmetros [host] e [server] e eu posso testar o dns com nslookup cnn.com 127.0.0.1 # 9053 Eu posso testar o dnscrypt com o comando nslookup cnn.com 127.0.0.1 # 5353 Alterar para números de porta ou domínios inválidos obtém uma resposta; ; conexão esgotada; nenhum servidor poderia ser alcançado Dig também funciona no openwrt, mas tem que ser instalado a partir do pacote bind-dig. dig -q 127.0.0.1 -p 9053 www.bbc.com E novamente falha por portas inválidas. No meu caso, o problema foi resolvido quando eu mudei entradas em / etc / config / network e configurei a opção dns '127.0.0.1' para redes onde eu usei anteriormente inseguras entradas de DNS lá.

    
por 05.10.2018 / 11:42
0

Para janelas, o que você pode estar procurando é apresentado no seguinte artigo: link

    
por 12.10.2018 / 13:59