Bir PTR kaydını nasıl kontrol edebilirim?


30

Sahip olduğum bir betiğin, kullanıcılarım tarafından gerçekten alınacak ve spam olarak yanlış işaretlenmemiş e-postalar gönderdiğinden emin olmak için bir PTR kaydını kontrol etmem gerekiyor.

IP aralığına sahip olan ISS'nin PTR kaydını ayarlamak zorunda olduğunu biliyorum, ancak önceden kurulup kurulmadığını nasıl kontrol edebilirim?


Merhaba Daisetsu, yorumunuzdan sadece bahsetmek istedim: "IP aralığına sahip olan ISS'nin PTR kaydını ayarlaması gerekir", ISS değil. Bu, Kayıt Şirketi ile yapılandırılmıştır. 'Daisetsu.com' a sahipseniz, kendi etki alanınız için bir PTR kaydı oluşturabilirsiniz. DNS sunucunuzda dahili bir etki alanınız varsa, yerel bir PTR kaydı da oluşturabilirsiniz.
projectdp

Yanıtlar:


42

Eğer varsa Unix veya Linux , istemi bir komutla bu yazarak bunu yapabilirsiniz:

dig -x xx.yy.zz.aa

Bu adrese çözümleyen aa.zz.yy.xx.xx.in-addr.arpa ve sunucunuzun yetkisine bir yanıt alırsınız.

In Windows'un Yapabileceğiniz nslookup xx.yy.zz.aa.

Ayrıca www.intodns.com adresinden çevrimiçi olarak kontrol edebilir ve etki alanınızı girebilirsiniz.

xx.yy.zz.aa = Çözmeye çalıştığınız IP adresi


Güncelleştirme:

Dig, nslookup veya host kullanırken, Google’ın (8.8.8.8) gibi kontrolünüz dışında bir DNS sunucusu kullanmak sıkça yararlı olur; - Zoredache

Zoredache iyi bir noktaya değindi . Dış / dış DNS sunucularını sınama / çözümleme komutları:

Kazmak (Google’ın 8.8.8.8’in DNS sunucusunda ters DNS’i test etmek):

dig -x zz.yy.xx.aa @8.8.8.8

Host ve Nslookup (Google’ın 8.8.8.8’in DNS sunucusundaki ters dns’i test etme)

nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8

1
Dig, nslookup veya host kullanırken, Google’ın (8.8.8.8) gibi kontrolünüz dışında bir DNS sunucusu kullanmak sıkça yararlı olur;
Zoredache

12

Bunun cevaplanmış olarak işaretlendiğini biliyorum ama daha kapsamlı bir cevap vermek istiyorum. Örneklerim için kullanacağım:

  1. google.com 'ın IP adresi 172.217.3.206 nedeniyle yaptığı bir PTR kaydı var.
  2. serverfault.com 'ın IP adresi 151.101.1.69 bunun nedeni olmayan bir PTR kaydı var.

Unutulmaması gereken ilk şey digbir multiplatform komutudur, bunu Windows için BIND altında listelenen ISC BIND web sitesinde bulabilir , ardından Windows platformunuzu (32 veya 64 bit) seçebilirsiniz. Kendi nslookup binary'i de dahil olmak üzere birçok başka aracı vardır. Bu nslookup.exe sürümünü kullanmıyorum, bunun yerine Windows ile birlikte gelen varsayılanı kullanıyorum (C: \ Windows \ System32 \ nslookup.exe). Ancak kullanmak digistiyorsanız, yerel PATH ortam değişkeninizi düzenlemek veya digaracı C: \ Windows \ System32 klasörünüze taşımak isteyebilirsiniz.

Komut 1) dig PTR 206.3.217.172.in-addr.arpa- Geleneksel olarak bu, kullanıcının ters DNS araması yapmasıdır. : Bunlar elle IP adresini devrik olur 172.217.3.206üzere 206.3.217.172(haber dört oktet her birinin sırası) ve eklemek in-addr.arpadizenin sonuna kadar. İşte çıktı:

; <<>> 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

Komut 2) dig -x 172.217.3.206- Komutun bu sürümü dig -h, -xbayrakta "geriye doğru aramalar için kısayol" da açıklandığı gibi daha basittir . Çıkış, önceki komutta yukarıda gösterilen çıkışla aynıdır.

Komut 3) dig -x 151.101.1.69- Bu örnek serverfault.com örneğini kullanarak bir PTR kaydı bulunmadığında nasıl göründüğünü gösteriyor. Gördüğünüz gibi, cevap bir PTR listelemiyor ve yalnızca SOA kaydını bulabiliyor 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

Komut 4) nslookup 172.217.3.174- Bu, bu konudaki birincil cevapta l0c0b0x kullanıcısı tarafından önerilen komuttur . Bir sonuç olduğu doğru olsa da, bunun bir PTR kaydı mı yoksa başka bir kayıt mı olduğu belli değil. IP verildiğinde varsayılan olarak bir PTR döndürdüğünü düşünüyorum, ancak yine de emin olmak istiyorum. Ayrıca, birden fazla TO varsa, diğer kayıtları da ihmal eder:

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    sea15s11-in-f14.1e100.net
Address:  172.217.3.174

Komut 5) nslookup -debug 172.217.3.174- Kayıt türü ve sonuçların tam listesini içeren listenin tamamını görmek için bu komutu kullanın. -debugEğer kullanmalıdır kapama bayrağı devam ederse, bunu açmak için -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

Komut 6) nslookup -type=PTR 172.217.3.174- Komutun bu sürümü -typebayrakla PTR kayıtlarını belirtir . Bayraksız versiyondan -typeiki şekilde farklıdır. Birincisi, tüm PTR cevaplarını listeler. İkincisi, diğer komutun dahil etmeyi ihmal ettiği "Yetkili olmayan cevap" bilgisini içermesidir. Hata ayıklama çıktısına dikkatlice bakarsanız, authority records0 durumu, bu nedenle her iki komut da "yetkili olmayan yanıt" ifadesi vermelidir.

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

Komut 7) nslookup -debug -d2 -type=PTR 151.101.1.69- İşte tam geriye doğru arama isteği hakkında mümkün olduğunca fazla ayrıntı elde edersiniz. Hatırlatma: Kapatmak için -nodebugve tuşlarını kullanın -nod2. Bu örnek serverfault.com örneğinde bilerek başarısız oldu:

------------
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

Komut 8) nslookup 174.3.217.172.in-addr.arpa- Geleneksel ters DNS arama yöntemini nslookupKomut 1 ile yaptığımız gibi kullanıp kullanamayacağınızı merak ediyor olabilirsiniz dig. Yapabilirsin. Bu komut ile -type=PTRaşağıda verilen bayrak (Komut 9) ile yukarıda listelenen (Komut 6) ile aynı nslookup hatalarına dikkat edin :

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    174.3.217.172.in-addr.arpa

Komut 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa- Bekleyebileceğiniz gibi, Komut 6 ile aynı görünüyor.

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

Hiç sorun değil, sanırım çıktıyla ilgili olarak otoritenin anlamı ve önemi hakkında bazı bilgilerim eksik. Biraz araştırma yapacağım ve işim bittiğinde ekleyeceğim.
projectdp

Bu kabul edilen cevap olmalı. OP'yi işaretlemesi için teşvik ediyorum.
Niall Cosgrove

1

Her türlü DNS aramasıyla aynıdır.

Windows komut isteminden: nslookup.exe <ip address>

Linux komut satırından: host <ip address>

Not: Muhtemelen bu komutları ağınızın dışındaki bir bilgisayardan çalıştırmak en iyisidir, böylece ortak bir DNS sunucusuna erişirsiniz. Alternatif olarak, hem nslookup hem de ana bilgisayar kullanılacak DNS sunucusunu belirtmenin yollarını sunar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.