Eu sei que isso foi marcado como respondido, mas desejo fornecer uma resposta mais abrangente. Para meus exemplos, usarei:
-
endereço IP google.com 172.217.3.206 porque tem um
Registro PTR.
-
serverfault.com endereço IP 151.101.1.69 porque não tem um registro PTR.
A primeira coisa a notar é que dig
é um comando multiplataforma, você pode obtê-lo para o Windows no site do ISC BIND listado em BIND, selecione sua plataforma Windows (32 ou 64 bits). Tem muitas outras ferramentas, incluindo o seu próprio binário nslookup. Eu não uso essa versão nslookup.exe, em vez disso eu uso o padrão que vem com o Windows (C: \ Windows \ System32 \ nslookup.exe). No entanto, se você quiser usar dig
, talvez queira editar sua variável de ambiente PATH local ou mova a ferramenta dig
para sua pasta C: \ Windows \ System32.
Comando 1) dig PTR 206.3.217.172.in-addr.arpa
- Tradicionalmente, é assim que um usuário executa uma pesquisa reversa de DNS. Eles transpuseram manualmente o endereço IP: 172.217.3.206
to 206.3.217.172
(observe a ordem de cada um dos quatro octetos) e adicione in-addr.arpa
ao final da string. Aqui está a saída:
; <<>> DiG 9.9.5 <<>> PTR 206.3.217.172.in-addr.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39790
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;206.3.217.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f206.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f206.1e100.net.
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:20:28 Pacific Daylight Time 2017
;; MSG SIZE rcvd: 153
Comando 2) dig -x 172.217.3.206
- Esta versão do comando é muito mais simples, conforme descrito em dig -h
, o -x
flag é um "atalho para pesquisas inversas". A saída é idêntica à saída mostrada acima no comando anterior.
Comando 3) dig -x 151.101.1.69
- Este exemplo mostra o que parece quando um registro PTR não é encontrado, usando o exemplo serverfault.com. Como você pode ver, a resposta não lista um PTR e só pode encontrar o registro SOA de 151.in-addr.arpa
:
; <<>> DiG 9.9.5 <<>> -x 151.101.1.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 21854
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;69.1.101.151.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
151.in-addr.arpa. 1786 IN SOA pri.authdns.ripe.net. dns.ripe.net. 1490512027 3600 600 864000 3600
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:30:38 Pacific Daylight Time 2017
;; MSG SIZE rcvd: 114
Comando 4) nslookup 172.217.3.174
- Este é o comando sugerido pelo usuário l0c0b0x na resposta primária deste tópico. Embora seja verdade que há um resultado, não está claro se este é um registro PTR ou algum outro tipo de registro. Eu acho que, por padrão, retorna um PTR se ele recebe um IP, mas eu ainda quero ter certeza. Ele também omite outros registros se houver vários PTRs:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Comando 5) nslookup -debug 172.217.3.174
- Use este comando para ver a lista completa, incluindo o tipo de registro e a lista completa de resultados. O -debug
flag persiste, para desativá-lo você deve usar -nodebug
:
------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
name = google-public-dns-a.google.com
ttl = 86141 (23 hours 55 mins 41 secs)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 4, authority records = 0, additional = 0
QUESTIONS:
174.3.217.172.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f14.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f174.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f14.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f174.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
------------
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Comando 6) nslookup -type=PTR 172.217.3.174
- Esta versão do comando especifica os registros PTR com o sinalizador -type
. É diferente da versão sem o sinalizador -type
de duas maneiras. A primeira é listar todas as respostas do PTR. A segunda é que inclui as informações "Resposta não autoritativa" que o outro comando não inclui. Se você observar cuidadosamente a saída de depuração, o authority records
state 0, então ambos os comandos devem declarar "Resposta não autoritativa".
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
Comando 7) nslookup -debug -d2 -type=PTR 151.101.1.69
- Veja como você obteria o máximo de detalhes possível sobre a solicitação de pesquisa inversa completa. Lembrete: para desativá-lo, use -nodebug
e -nod2
. Este exemplo está propositadamente com falha no exemplo serverfault.com:
------------
SendRequest(), len 38
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
------------
------------
Got answer (82 bytes):
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
type = PTR, class = IN, dlen = 32
name = google-public-dns-a.google.com
ttl = 86280 (23 hours 58 mins)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
SendRequest(), len 43
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
69.1.101.151.in-addr.arpa, type = PTR, class = IN
------------
------------
Got answer (103 bytes):
HEADER:
opcode = QUERY, id = 2, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
69.1.101.151.in-addr.arpa, type = PTR, class = IN
AUTHORITY RECORDS:
-> 151.in-addr.arpa
type = SOA, class = IN, dlen = 48
ttl = 1787 (29 mins 47 secs)
primary name server = pri.authdns.ripe.net
responsible mail addr = dns.ripe.net
serial = 1490512027
refresh = 3600 (1 hour)
retry = 600 (10 mins)
expire = 864000 (10 days)
default TTL = 3600 (1 hour)
------------
*** google-public-dns-a.google.com can't find 69.1.101.151.in-addr.arpa.: Non-ex
istent domain
Comando 8) nslookup 174.3.217.172.in-addr.arpa
- Você pode estar se perguntando se pode usar o método tradicional de pesquisa reversa de DNS com nslookup
, como fizemos no Comando 1 com dig
. Você pode. Observe as mesmas falhas de nslookup listadas acima (Comando 6) entre este comando e aquele com o sinalizador -type=PTR
definido abaixo (Comando 9):
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: 174.3.217.172.in-addr.arpa
Comando 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa
- Como você pode esperar, ele parece idêntico ao Comando 6.
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net