Ruby ile Domain Üzerinden DNS Kayıt Türlerini (A, MX, CNAME, TXT, NS) Sorgulamak!

Bunjo

Uzman üye
14 Ara 2020
1,591
1,892
I Won

6449ti9.gif

pDHFoUY.png


Merhabalar ben Bunjo, bu konuda DNS'in ne olduğunu ve DNS kayıtlarının Ruby'de nasıl çekileceğini anlatacağım.

pDHFoUY.png


DNS (Domain Name Server) Nedir?

DNS (Domain Name System), internet üzerindeki herhangi bir kaynağa erişim sağlamak için kullanılan bir hizmettir. DNS, internet üzerindeki alan adlarını (örneğin: example.com) IP adreslerine (örneğin: 192.0.2.1) çevirir. Bu, kullanıcıların web sitelerine, e-posta sunucularına ve diğer internet hizmetlerine erişirken hatırlamaları gereken karmaşık IP adresleri yerine, daha kolay hatırlanabilen alan adlarını kullanmalarını sağlar.

DNS'in temel işlevleri şunlardır:

Alan Adı Çözümlemesi: DNS, kullanıcıların tarayıcılarında veya diğer uygulamalarda girdikleri alan adlarını, o alan adına karşılık gelen IP adreslerine çözümler. Örneğin, kullanıcı "www.example.com" yazdığında, DNS bu alan adını doğru IP adresine çevirerek web sitesine erişim sağlar.

Alan Adı Yönlendirmesi: DNS, bir alan adını birden fazla IP adresiyle eşleştirebilir. Bu, yüksek trafikli web siteleri için yük dengelemesi veya yedek sunucuların kullanımı gibi durumlar için önemlidir.

E-posta Yönlendirmesi: DNS, e-posta gönderimini kolaylaştırmak için MX (Mail Exchange) kayıtlarını kullanır. Bu kayıtlar, bir alan adına gelen e-postaların hangi sunucuya yönlendirileceğini belirler.

Diğer Kayıtlar: DNS ayrıca alan adlarına ilişkin diğer bilgileri de içerebilir, örneğin, CNAME (Canonical Name) kayıtları bir alan adını başka bir alan adına yönlendirebilir, TXT (Text) kayıtları ek bilgiler sağlayabilir ve NS (Name Server) kayıtları alan adının DNS sunucularını belirleyebilir.

DNS, dünya çapında bir ağ olarak dağıtılmıştır ve milyonlarca DNS sunucusu, internet kullanıcılarına hizmet vermek için bir araya gelmiştir. Bu, internetin güvenilir ve hızlı bir şekilde çalışmasını sağlar. Ancak, DNS'in yanıt süreleri ve güvenilirliği, internet erişim hızını ve kullanıcı deneyimini etkileyebilir. Bu nedenle, DNS hizmet sağlayıcıları ve internet servis sağlayıcıları, etkili bir DNS altyapısını sürdürmek için sürekli olarak çalışırlar.

Referans: DNS Nedir? Ne İşe Yarar? | Millenicom Blog


pDHFoUY.png


DNS Çalışma Süreci

Alan Adının Çözümlemesi (Resolution):
Kullanıcı bir tarayıcıya bir alan adı girer (örneğin: "www.example.com").
Tarayıcı, bu alan adını çözümlemek için yerel bir DNS sunucusuna (örneğin, ISP tarafından sağlanan bir DNS sunucusu) başvurur.

Yerel DNS Sunucusu Sorgusu:
Yerel DNS sunucusu, kullanıcının isteğini çözmek için kendi yerel önbelleğini kontrol eder. Eğer istenen kayıt (örneğin, "www.example.com" için IP adresi) önbellekte varsa, hemen yanıt verir.
Eğer önbellekte kayıt yoksa, yerel DNS sunucusu, kök DNS sunucularından başlayarak DNS hiyerarşisinde ilerler.

Kök DNS Sunucuları Sorgusu:
Yerel DNS sunucusu, kök DNS sunucularının IP adreslerini bildiğinden, ilk önce kök DNS sunucularının IP adreslerini çözmek için bir sorgu gönderir.
Kök DNS sunucuları, .com, .net, .org gibi üst düzey alan adı uzantılarına ilişkin bilgileri içeren TLD (Top-Level Domain) sunucularının IP adreslerini verir.

TLD Sunucusu Sorgusu:
Yerel DNS sunucusu, .com, .net, .org gibi üst düzey alan adı uzantılarına ait IP adreslerini çözmek için TLD sunucularına bir sorgu gönderir.
TLD sunucuları, istenen alan adı (örneğin, "example.com") için yetkili ad sunucularının IP adreslerini sağlar.

Yetkili Ad Sunucuları Sorgusu:
Yerel DNS sunucusu, alan adının yetkili ad sunucularının IP adreslerini çözmek için TLD tarafından verilen IP adreslerine bir sorgu gönderir.
Yetkili ad sunucuları, istenen alan adı için kayıtlı olan IP adresini sağlar.

Cevabın Dönülmesi:
Yerel DNS sunucusu, aldığı IP adresini önbelleğe ekler ve kullanıcıya yanıt olarak bu IP adresini döner.
Tarayıcı, aldığı IP adresiyle istenen web sitesine erişim sağlar.

Referans: https://www.cloudflare.com/tr-tr/learning/dns/what-is-dns/

pDHFoUY.png

DNS Kayıtları Nelerdir?

A (Address) Kaydı: A kaydı, bir alan adının IPv4 adresiyle ilişkilendirildiği temel DNS kaydıdır.
Örneğin, "www.example.com" alan adı "192.0.2.1" IPv4 adresiyle ilişkilendirilmişse, bu ilişkiyi tanımlayan bir A kaydı bulunur.

AAAA (IPv6 Address) Kaydı: AAAA kaydı, bir alan adının IPv6 adresiyle ilişkilendirildiği kayıttır. IPv6, IPv4'e alternatif bir internet protokolüdür ve daha geniş bir adres alanı sunar.

CNAME (Canonical Name) Kaydı: CNAME kaydı, bir alan adının bir başka alan adına yönlendirildiği durumlarda kullanılır.
Örneğin, "www.example.com" alan adının "example.com" alan adına yönlendirildiği durumda bir CNAME kaydı olabilir.

MX (Mail Exchange) Kaydı: MX kaydı, bir alan adına gelen e-postaların hangi sunucuya yönlendirileceğini belirler.
Örneğin, "example.com" alan adına gelen e-postaların "mail.example.com" sunucusuna yönlendirileceği belirtilebilir.

TXT (Text) Kaydı: TXT kaydı, bir alan adıyla ilişkilendirilen metin bilgilerini içerir.
Bu bilgiler genellikle doğrulama, kimlik doğrulama veya diğer özel amaçlar için kullanılır.

NS (Name Server) Kaydı: NS kaydı, bir alan adının yetkili DNS sunucularını belirtir.
Bu kayıtlar, alan adının DNS yönetimini sağlayan yetkili sunucuları tanımlar.

PTR (Pointer) Kaydı: PTR kaydı, bir IP adresinin bir alan adıyla ilişkilendirilmesini sağlar.
Bu genellikle ters DNS sorgularında kullanılır ve IP adreslerinin alan adlarına dönüştürülmesini sağlar.


pDHFoUY.png


Ruby'de DNS Kayıtlarını Çekmek

Ruby:
require 'resolv'

domain = "example.com"

# A kaydı almak için
a_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::A)
a_records.each do |record|
  puts "A Record: #{record.address}"
end

# MX kaydı almak için
mx_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::MX)
mx_records.each do |record|
  puts "MX Record: #{record.exchange} (Priority: #{record.preference})"
end

# CNAME kaydı almak için
cname_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::CNAME)
cname_records.each do |record|
  puts "CNAME Record: #{record.name}"
end

# TXT kaydı almak için
txt_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::TXT)
txt_records.each do |record|
  puts "TXT Record: #{record.strings.join(' ')}"
end

# NS kaydı almak için
ns_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::NS)
ns_records.each do |record|
  puts "NS Record: #{record.name}"
end

İlk olarak, resolv kütüphanesini kullanmak için require 'resolv' ifadesiyle kütüphaneyi çağırıyoruz.

Ardından, domain değişkenine example.com gibi bir alan adı atıyoruz. Bu, DNS kayıtlarını sorgulayacağımız alan adını temsil eder.

Aşağıdaki blok, A kayıtlarını almak için Resolv:: DNS sınıfının getresources yöntemini kullanır. Bu yöntem, belirtilen alan adı ve kayıt türü (IN::A) için DNS sorgusu yapar ve sonuçları a_records değişkenine atar. Sonrasında, bu kayıtlar üzerinde döngü oluşturarak her bir A kaydını ekrana yazdırırız.

Benzer şekilde, MX kayıtları, CNAME kayıtları, TXT kayıtları ve NS kayıtları için aynı işlem adımları izlenir. Her kayıt türü için getresources yöntemi kullanılır, sonuçlar ilgili değişkenlere atanır ve ardından döngü kullanılarak her kayıt türü için ilgili bilgiler ekrana yazdırılır.


pDHFoUY.png



İyi forumlar.
 

Butcherb3y

Uzman üye
1 Eyl 2022
1,586
1,174
Anıtkabir

6449ti9.gif

pDHFoUY.png


Merhabalar ben Bunjo, bu konuda DNS'in ne olduğunu ve DNS kayıtlarının Ruby'de nasıl çekileceğini anlatacağım.

pDHFoUY.png


DNS (Domain Name Server) Nedir?

DNS (Domain Name System), internet üzerindeki herhangi bir kaynağa erişim sağlamak için kullanılan bir hizmettir. DNS, internet üzerindeki alan adlarını (örneğin: example.com) IP adreslerine (örneğin: 192.0.2.1) çevirir. Bu, kullanıcıların web sitelerine, e-posta sunucularına ve diğer internet hizmetlerine erişirken hatırlamaları gereken karmaşık IP adresleri yerine, daha kolay hatırlanabilen alan adlarını kullanmalarını sağlar.

DNS'in temel işlevleri şunlardır:

Alan Adı Çözümlemesi: DNS, kullanıcıların tarayıcılarında veya diğer uygulamalarda girdikleri alan adlarını, o alan adına karşılık gelen IP adreslerine çözümler. Örneğin, kullanıcı "www.example.com" yazdığında, DNS bu alan adını doğru IP adresine çevirerek web sitesine erişim sağlar.

Alan Adı Yönlendirmesi: DNS, bir alan adını birden fazla IP adresiyle eşleştirebilir. Bu, yüksek trafikli web siteleri için yük dengelemesi veya yedek sunucuların kullanımı gibi durumlar için önemlidir.

E-posta Yönlendirmesi: DNS, e-posta gönderimini kolaylaştırmak için MX (Mail Exchange) kayıtlarını kullanır. Bu kayıtlar, bir alan adına gelen e-postaların hangi sunucuya yönlendirileceğini belirler.

Diğer Kayıtlar: DNS ayrıca alan adlarına ilişkin diğer bilgileri de içerebilir, örneğin, CNAME (Canonical Name) kayıtları bir alan adını başka bir alan adına yönlendirebilir, TXT (Text) kayıtları ek bilgiler sağlayabilir ve NS (Name Server) kayıtları alan adının DNS sunucularını belirleyebilir.

DNS, dünya çapında bir ağ olarak dağıtılmıştır ve milyonlarca DNS sunucusu, internet kullanıcılarına hizmet vermek için bir araya gelmiştir. Bu, internetin güvenilir ve hızlı bir şekilde çalışmasını sağlar. Ancak, DNS'in yanıt süreleri ve güvenilirliği, internet erişim hızını ve kullanıcı deneyimini etkileyebilir. Bu nedenle, DNS hizmet sağlayıcıları ve internet servis sağlayıcıları, etkili bir DNS altyapısını sürdürmek için sürekli olarak çalışırlar.

Referans: DNS Nedir? Ne İşe Yarar? | Millenicom Blog


pDHFoUY.png


DNS Çalışma Süreci

Alan Adının Çözümlemesi (Resolution):
Kullanıcı bir tarayıcıya bir alan adı girer (örneğin: "www.example.com").
Tarayıcı, bu alan adını çözümlemek için yerel bir DNS sunucusuna (örneğin, ISP tarafından sağlanan bir DNS sunucusu) başvurur.

Yerel DNS Sunucusu Sorgusu:
Yerel DNS sunucusu, kullanıcının isteğini çözmek için kendi yerel önbelleğini kontrol eder. Eğer istenen kayıt (örneğin, "www.example.com" için IP adresi) önbellekte varsa, hemen yanıt verir.
Eğer önbellekte kayıt yoksa, yerel DNS sunucusu, kök DNS sunucularından başlayarak DNS hiyerarşisinde ilerler.

Kök DNS Sunucuları Sorgusu:
Yerel DNS sunucusu, kök DNS sunucularının IP adreslerini bildiğinden, ilk önce kök DNS sunucularının IP adreslerini çözmek için bir sorgu gönderir.
Kök DNS sunucuları, .com, .net, .org gibi üst düzey alan adı uzantılarına ilişkin bilgileri içeren TLD (Top-Level Domain) sunucularının IP adreslerini verir.

TLD Sunucusu Sorgusu:
Yerel DNS sunucusu, .com, .net, .org gibi üst düzey alan adı uzantılarına ait IP adreslerini çözmek için TLD sunucularına bir sorgu gönderir.
TLD sunucuları, istenen alan adı (örneğin, "example.com") için yetkili ad sunucularının IP adreslerini sağlar.

Yetkili Ad Sunucuları Sorgusu:
Yerel DNS sunucusu, alan adının yetkili ad sunucularının IP adreslerini çözmek için TLD tarafından verilen IP adreslerine bir sorgu gönderir.
Yetkili ad sunucuları, istenen alan adı için kayıtlı olan IP adresini sağlar.

Cevabın Dönülmesi:
Yerel DNS sunucusu, aldığı IP adresini önbelleğe ekler ve kullanıcıya yanıt olarak bu IP adresini döner.
Tarayıcı, aldığı IP adresiyle istenen web sitesine erişim sağlar.

Referans: https://www.cloudflare.com/tr-tr/learning/dns/what-is-dns/

pDHFoUY.png

DNS Kayıtları Nelerdir?

A (Address) Kaydı: A kaydı, bir alan adının IPv4 adresiyle ilişkilendirildiği temel DNS kaydıdır.
Örneğin, "www.example.com" alan adı "192.0.2.1" IPv4 adresiyle ilişkilendirilmişse, bu ilişkiyi tanımlayan bir A kaydı bulunur.

AAAA (IPv6 Address) Kaydı: AAAA kaydı, bir alan adının IPv6 adresiyle ilişkilendirildiği kayıttır. IPv6, IPv4'e alternatif bir internet protokolüdür ve daha geniş bir adres alanı sunar.

CNAME (Canonical Name) Kaydı: CNAME kaydı, bir alan adının bir başka alan adına yönlendirildiği durumlarda kullanılır.
Örneğin, "www.example.com" alan adının "example.com" alan adına yönlendirildiği durumda bir CNAME kaydı olabilir.

MX (Mail Exchange) Kaydı: MX kaydı, bir alan adına gelen e-postaların hangi sunucuya yönlendirileceğini belirler.
Örneğin, "example.com" alan adına gelen e-postaların "mail.example.com" sunucusuna yönlendirileceği belirtilebilir.

TXT (Text) Kaydı: TXT kaydı, bir alan adıyla ilişkilendirilen metin bilgilerini içerir.
Bu bilgiler genellikle doğrulama, kimlik doğrulama veya diğer özel amaçlar için kullanılır.

NS (Name Server) Kaydı: NS kaydı, bir alan adının yetkili DNS sunucularını belirtir.
Bu kayıtlar, alan adının DNS yönetimini sağlayan yetkili sunucuları tanımlar.

PTR (Pointer) Kaydı: PTR kaydı, bir IP adresinin bir alan adıyla ilişkilendirilmesini sağlar.
Bu genellikle ters DNS sorgularında kullanılır ve IP adreslerinin alan adlarına dönüştürülmesini sağlar.


pDHFoUY.png


Ruby'de DNS Kayıtlarını Çekmek

Ruby:
require 'resolv'

domain = "example.com"

# A kaydı almak için
a_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::A)
a_records.each do |record|
  puts "A Record: #{record.address}"
end

# MX kaydı almak için
mx_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::MX)
mx_records.each do |record|
  puts "MX Record: #{record.exchange} (Priority: #{record.preference})"
end

# CNAME kaydı almak için
cname_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::CNAME)
cname_records.each do |record|
  puts "CNAME Record: #{record.name}"
end

# TXT kaydı almak için
txt_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::TXT)
txt_records.each do |record|
  puts "TXT Record: #{record.strings.join(' ')}"
end

# NS kaydı almak için
ns_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::NS)
ns_records.each do |record|
  puts "NS Record: #{record.name}"
end

İlk olarak, resolv kütüphanesini kullanmak için require 'resolv' ifadesiyle kütüphaneyi çağırıyoruz.

Ardından, domain değişkenine example.com gibi bir alan adı atıyoruz. Bu, DNS kayıtlarını sorgulayacağımız alan adını temsil eder.

Aşağıdaki blok, A kayıtlarını almak için Resolv:: DNS sınıfının getresources yöntemini kullanır. Bu yöntem, belirtilen alan adı ve kayıt türü (IN::A) için DNS sorgusu yapar ve sonuçları a_records değişkenine atar. Sonrasında, bu kayıtlar üzerinde döngü oluşturarak her bir A kaydını ekrana yazdırırız.

Benzer şekilde, MX kayıtları, CNAME kayıtları, TXT kayıtları ve NS kayıtları için aynı işlem adımları izlenir. Her kayıt türü için getresources yöntemi kullanılır, sonuçlar ilgili değişkenlere atanır ve ardından döngü kullanılarak her kayıt türü için ilgili bilgiler ekrana yazdırılır.


pDHFoUY.png



İyi forumlar.
Eline sağlık hocam güzel konu
 

teux

Katılımcı Üye
23 Ocak 2023
959
1,332

6449ti9.gif

pDHFoUY.png


Merhabalar ben Bunjo, bu konuda DNS'in ne olduğunu ve DNS kayıtlarının Ruby'de nasıl çekileceğini anlatacağım.

pDHFoUY.png


DNS (Domain Name Server) Nedir?

DNS (Domain Name System), internet üzerindeki herhangi bir kaynağa erişim sağlamak için kullanılan bir hizmettir. DNS, internet üzerindeki alan adlarını (örneğin: example.com) IP adreslerine (örneğin: 192.0.2.1) çevirir. Bu, kullanıcıların web sitelerine, e-posta sunucularına ve diğer internet hizmetlerine erişirken hatırlamaları gereken karmaşık IP adresleri yerine, daha kolay hatırlanabilen alan adlarını kullanmalarını sağlar.

DNS'in temel işlevleri şunlardır:

Alan Adı Çözümlemesi: DNS, kullanıcıların tarayıcılarında veya diğer uygulamalarda girdikleri alan adlarını, o alan adına karşılık gelen IP adreslerine çözümler. Örneğin, kullanıcı "www.example.com" yazdığında, DNS bu alan adını doğru IP adresine çevirerek web sitesine erişim sağlar.

Alan Adı Yönlendirmesi: DNS, bir alan adını birden fazla IP adresiyle eşleştirebilir. Bu, yüksek trafikli web siteleri için yük dengelemesi veya yedek sunucuların kullanımı gibi durumlar için önemlidir.

E-posta Yönlendirmesi: DNS, e-posta gönderimini kolaylaştırmak için MX (Mail Exchange) kayıtlarını kullanır. Bu kayıtlar, bir alan adına gelen e-postaların hangi sunucuya yönlendirileceğini belirler.

Diğer Kayıtlar: DNS ayrıca alan adlarına ilişkin diğer bilgileri de içerebilir, örneğin, CNAME (Canonical Name) kayıtları bir alan adını başka bir alan adına yönlendirebilir, TXT (Text) kayıtları ek bilgiler sağlayabilir ve NS (Name Server) kayıtları alan adının DNS sunucularını belirleyebilir.

DNS, dünya çapında bir ağ olarak dağıtılmıştır ve milyonlarca DNS sunucusu, internet kullanıcılarına hizmet vermek için bir araya gelmiştir. Bu, internetin güvenilir ve hızlı bir şekilde çalışmasını sağlar. Ancak, DNS'in yanıt süreleri ve güvenilirliği, internet erişim hızını ve kullanıcı deneyimini etkileyebilir. Bu nedenle, DNS hizmet sağlayıcıları ve internet servis sağlayıcıları, etkili bir DNS altyapısını sürdürmek için sürekli olarak çalışırlar.

Referans: DNS Nedir? Ne İşe Yarar? | Millenicom Blog


pDHFoUY.png


DNS Çalışma Süreci

Alan Adının Çözümlemesi (Resolution):
Kullanıcı bir tarayıcıya bir alan adı girer (örneğin: "www.example.com").
Tarayıcı, bu alan adını çözümlemek için yerel bir DNS sunucusuna (örneğin, ISP tarafından sağlanan bir DNS sunucusu) başvurur.

Yerel DNS Sunucusu Sorgusu:
Yerel DNS sunucusu, kullanıcının isteğini çözmek için kendi yerel önbelleğini kontrol eder. Eğer istenen kayıt (örneğin, "www.example.com" için IP adresi) önbellekte varsa, hemen yanıt verir.
Eğer önbellekte kayıt yoksa, yerel DNS sunucusu, kök DNS sunucularından başlayarak DNS hiyerarşisinde ilerler.

Kök DNS Sunucuları Sorgusu:
Yerel DNS sunucusu, kök DNS sunucularının IP adreslerini bildiğinden, ilk önce kök DNS sunucularının IP adreslerini çözmek için bir sorgu gönderir.
Kök DNS sunucuları, .com, .net, .org gibi üst düzey alan adı uzantılarına ilişkin bilgileri içeren TLD (Top-Level Domain) sunucularının IP adreslerini verir.

TLD Sunucusu Sorgusu:
Yerel DNS sunucusu, .com, .net, .org gibi üst düzey alan adı uzantılarına ait IP adreslerini çözmek için TLD sunucularına bir sorgu gönderir.
TLD sunucuları, istenen alan adı (örneğin, "example.com") için yetkili ad sunucularının IP adreslerini sağlar.

Yetkili Ad Sunucuları Sorgusu:
Yerel DNS sunucusu, alan adının yetkili ad sunucularının IP adreslerini çözmek için TLD tarafından verilen IP adreslerine bir sorgu gönderir.
Yetkili ad sunucuları, istenen alan adı için kayıtlı olan IP adresini sağlar.

Cevabın Dönülmesi:
Yerel DNS sunucusu, aldığı IP adresini önbelleğe ekler ve kullanıcıya yanıt olarak bu IP adresini döner.
Tarayıcı, aldığı IP adresiyle istenen web sitesine erişim sağlar.

Referans: https://www.cloudflare.com/tr-tr/learning/dns/what-is-dns/

pDHFoUY.png

DNS Kayıtları Nelerdir?

A (Address) Kaydı: A kaydı, bir alan adının IPv4 adresiyle ilişkilendirildiği temel DNS kaydıdır.
Örneğin, "www.example.com" alan adı "192.0.2.1" IPv4 adresiyle ilişkilendirilmişse, bu ilişkiyi tanımlayan bir A kaydı bulunur.

AAAA (IPv6 Address) Kaydı: AAAA kaydı, bir alan adının IPv6 adresiyle ilişkilendirildiği kayıttır. IPv6, IPv4'e alternatif bir internet protokolüdür ve daha geniş bir adres alanı sunar.

CNAME (Canonical Name) Kaydı: CNAME kaydı, bir alan adının bir başka alan adına yönlendirildiği durumlarda kullanılır.
Örneğin, "www.example.com" alan adının "example.com" alan adına yönlendirildiği durumda bir CNAME kaydı olabilir.

MX (Mail Exchange) Kaydı: MX kaydı, bir alan adına gelen e-postaların hangi sunucuya yönlendirileceğini belirler.
Örneğin, "example.com" alan adına gelen e-postaların "mail.example.com" sunucusuna yönlendirileceği belirtilebilir.

TXT (Text) Kaydı: TXT kaydı, bir alan adıyla ilişkilendirilen metin bilgilerini içerir.
Bu bilgiler genellikle doğrulama, kimlik doğrulama veya diğer özel amaçlar için kullanılır.

NS (Name Server) Kaydı: NS kaydı, bir alan adının yetkili DNS sunucularını belirtir.
Bu kayıtlar, alan adının DNS yönetimini sağlayan yetkili sunucuları tanımlar.

PTR (Pointer) Kaydı: PTR kaydı, bir IP adresinin bir alan adıyla ilişkilendirilmesini sağlar.
Bu genellikle ters DNS sorgularında kullanılır ve IP adreslerinin alan adlarına dönüştürülmesini sağlar.


pDHFoUY.png


Ruby'de DNS Kayıtlarını Çekmek

Ruby:
require 'resolv'

domain = "example.com"

# A kaydı almak için
a_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::A)
a_records.each do |record|
  puts "A Record: #{record.address}"
end

# MX kaydı almak için
mx_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::MX)
mx_records.each do |record|
  puts "MX Record: #{record.exchange} (Priority: #{record.preference})"
end

# CNAME kaydı almak için
cname_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::CNAME)
cname_records.each do |record|
  puts "CNAME Record: #{record.name}"
end

# TXT kaydı almak için
txt_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::TXT)
txt_records.each do |record|
  puts "TXT Record: #{record.strings.join(' ')}"
end

# NS kaydı almak için
ns_records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::NS)
ns_records.each do |record|
  puts "NS Record: #{record.name}"
end

İlk olarak, resolv kütüphanesini kullanmak için require 'resolv' ifadesiyle kütüphaneyi çağırıyoruz.

Ardından, domain değişkenine example.com gibi bir alan adı atıyoruz. Bu, DNS kayıtlarını sorgulayacağımız alan adını temsil eder.

Aşağıdaki blok, A kayıtlarını almak için Resolv:: DNS sınıfının getresources yöntemini kullanır. Bu yöntem, belirtilen alan adı ve kayıt türü (IN::A) için DNS sorgusu yapar ve sonuçları a_records değişkenine atar. Sonrasında, bu kayıtlar üzerinde döngü oluşturarak her bir A kaydını ekrana yazdırırız.

Benzer şekilde, MX kayıtları, CNAME kayıtları, TXT kayıtları ve NS kayıtları için aynı işlem adımları izlenir. Her kayıt türü için getresources yöntemi kullanılır, sonuçlar ilgili değişkenlere atanır ve ardından döngü kullanılarak her kayıt türü için ilgili bilgiler ekrana yazdırılır.


pDHFoUY.png



İyi forumlar.
Eline sağlık canım
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.