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

Come posso inviare una richiesta a un server DNS specifico?

Vorrei inviare una richiesta a un server DNS specifico, di cui conosco l'indirizzo IP. Non importa se è su Windows o *nix.

In Windows posso fare qualcosa come:

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

Ma questo utilizza le impostazioni DNS della macchina locale. Invece, vorrei interrogare un server DNS specifico per verificare se risponde correttamente alle mie richieste o se risponde affatto.

Quindi dovrebbe essere qualcosa come:

nslookup --dns-ip=8.8.8.8 superuser.com

Risposte (8)

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

Per i record di base A e CNAME, si può semplicemente fare

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'

o se si digita semplicemente nslookup senza parametri, si possono fare molte più opzioni…

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

Basta scavare nelle opzioni di nslookup, che è possibile visualizzare se si invoca nslookup e poi digitando help all'interno della modalità interattiva di nslookup mi ha dato la risposta giusta:

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

Sì, C:\Documents and Settings\Anton Daneyko>nslookup superuser.com cercherà il proprio server DNS per trovare l'indirizzo IP di superuser.com. Se si aggiunge l'indirizzo ip o il nome di un server DNS diverso alla riga di comando, cercherà il server DNS dato per l'indirizzo ip di superuser.com. Es:

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 proposito, 8.8.4.4 è l'indirizzo ip dei server DNS di Google.

Ma, entrambi danno entrambi “risposte non autorevoli”, in quanto nessuno dei due SOA, che è l'autorevole per il dominio superuser.com. Entrambi hanno una copia in cache che è stata propagata dalla SOA. Se volete chiedere al server autoritativo, cercate prima il nome dell'indirizzo ip del server autoritativo, usando il 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

Questo vi restituirà una risposta non autoritativa dal vostro server DNS locale, dall'Uni Marburg, nominando tutti i server autoritativi per il dominio superuser.com. Poi potete usare il comando che abbiamo usato in precedenza per chiedere a uno qualsiasi dei 4 server autoritativi, come segue:

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
``` &001 


Come vedete, questa volta il server SOA autoritativo ha restituito gli indirizzi ip, quindi non vedete più il commento "Risposta non autoritativa". Questo è particolarmente utile, quando si è creato un nuovo nome di dominio o si è cambiato il provider di hosting o si è trasferito a un altro registrar di dominio, e non si può accedere al proprio sito web, in quanto i nuovi indirizzi IP non si sono diffusi nemmeno dopo 24 ore. Allora potete iniziare con la SOA e verificare che il vostro indirizzo IP corretto sia dato dal server DNS, e poi seguirlo più in basso nell'albero. È bene controllare se i server DNS di Google hanno ricevuto le modifiche, e infine se il vostro server DNS locale può risolvere il vostro nome di dominio per correggere l'indirizzo IP.
1
1
1
2017-09-24 20:07:36 +0000

Ottenere tipi di record specifici dal server DNS specificato con un comando

Per cercare tipi di record diversi dai record A e AAAAA (e CNAME) predefiniti restituiti da nslookup, utilizzando il server DNS specificato:

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

Ad esempio, per restituire record MX per il dominio stackexchange.com utilizzando il server DNS 8.8.4.4 il comando sarebbe:

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

Per cambiare il vostro server DNS di default in nslookup potete semplicemente cambiare il server digitando il server NAMEoIPofDNS In questo esempio qui sotto ho cambiato il mio server DNS di default (192.168.50.21) con uno nuovo (4.2.2.3)

C:\Windows\system32>nslookup

Default Server: UnKnown

Address: 192.168.50.21

server 4.2.2.3

Default Server: c.resolvers.level3.net

Address: 4.2.2.3

>

Ora sono pronto a fare query contro 4.2.2.3 contro 192.168.50.21

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

Sto lavorando su Openwrt 18.06.1 ARMv6 Raspberry pi e impostando tor dns così come dnscrypt-proxy ha avuto un problema molto simile. La causa principale è che l'isp locale sta intercettando risposte insicure da root-servers.net, risposte che dicono che il sito non è stato trovato, per poi reindirizzarlo al proprio sito web. Anche se non è un grande difetto di sicurezza, non lo trovo particolarmente utile.

Il primo test da fare quando si interroga un indirizzo specifico è in realtà quello di provare un indirizzo non valido, per assicurarsi di ottenere una corretta risposta nulla quando si utilizzano i parametri del server, della porta e dell'host, Ci sono molte guide e versioni ed è facile pensare che si sta facendo un test della porta quando in realtà sta rispondendo dai risultati della cache o dai server di default. Dopo aver ottenuto una risposta di null, si lavora con un indirizzo di server e una porta attivi. Le porte attive possono essere mostrate su openwrt con netstat -plnt, ma si noti che alcuni comandi del router potrebbero dover essere installati prima. Il servizio tor che ho impostato sulla porta 9053 non viene mostrato qui, ma funziona ancora dopo aver aggiunto DNSPort 127.0.0.1:9053 al file torrc. Il formato nslookup su questa piattaforma accetta i parametri [host] e [server] e posso testare tor dns con nslookup cnn.com 127.0.0.1.1#9053 Posso testare dnscrypt con il comando nslookup cnn. com 127.0.0.0.1#5353 Il passaggio a numeri di porta o domini non validi ottiene una risposta; ; connessione scaduta; nessun server può essere raggiunto Dig funziona anche su openwrt ma deve essere installato dal pacchetto bind-dig. dig -q 127.0.0.0.1 -p 9053 www.bbc.com E ancora una volta non riesce per le porte non valide. Nel mio caso il problema è stato risolto quando ho cambiato le voci in /etc/config/network e ho impostato l'opzione dns ‘127.0.0.1’ per le reti dove in precedenza ho usato voci dns non sicure.

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

Per le finestre ciò che si può cercare è presentato nel seguente articolo: https://technet.microsoft.com/en-us/library/ff394369.aspx

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

è possibile configurare il DNS primario da utilizzare con la propria connessione. Vai alle proprietà della connessione => Internet Procol (TCP/IP). (il luogo dove si può impostare un IP statico) Qui si può definire manualmente quale DNS si vuole usare per ogni connessione. Dopo averlo testato, si può sempre tornare al suo valore precedente.