DNS'de tüm ana bilgisayar adlarını bir IP'ye bağlı nasıl bulabilirim?


24

Bir makinede yapılandırılmış birden fazla ana makinem varsa ( bir apache'nin VirtualHosts'u), IP'de bir arama yapabilir ve erişmek için yapılandırılmış tüm alanları nasıl bulabilirim?

Örneğin, sunucuma bağlı birkaç web ve e-posta etki alanım var. Ona işaret eden tüm alanları nasıl bulabilirim?

Mümkün mü?

Sahip olduğum tüm etki alanları için DNS A girişleri var, ayrıca bazı arkadaşların etki alanlarının sunucumu işaret ettiğini biliyorum. Ben millet ne ben görmek istiyorum olduğunu değil biliyorum yaklaşık orada da işaret ediyor. (Biri etki alanını başka bir yere koymuşsa ve 'eski' web sitelerini sunucumdan silebilirim.)

Yanıtlar:


30

Gerçekten değil, hayır. Bu, ileri ve geri DNS aramaları arasındaki farkla ilgilidir.

İleriye doğru arama standart ad-> IP aramasıdır. Bu yüzden, tüm isimleri önceden bilmek zorundasınız.

İstediğiniz şey bir IP-> isim araması yapmak, ancak bir şekilde Apache yapılandırmanızda ve DNS'de A (veya CNAMES ya da her neyse) uyguladığınız tüm isimleri almalısınız.

Muhtemelen bulacağınız şey, geriye doğru bir arama yapmanın (örn. Dig @nameserver $ ip -x) ISS'niz olabilecek bu netblock'a sahip olan kişiler tarafından bu IP'ye verilen host adını döndüreceğidir. 45-23-45-231.big-isp.com gibi bir ismi olabilir, bu sizin için çok şey ifade etmiyor. Ve en önemlisi, yalnızca bir ters kayıt var, ancak potansiyel olarak bir çok ileri kayıt var.

Sanırım bu soruyu yanıtlıyor - ters bölge ileri bölgedeki kayıtlardan herhangi birini nasıl biliyor? Çoğu kurulumda, ileri bölge müşteriye değişiklik yapmak için kullanılabilir hale gelir, ancak geri bölge netblock sahipleri tarafından sağlanır. İki sistemin çalışması için birbirleri hakkında hiçbir şey bilmeleri gerekmez.


2
Bana doğru geliyor.
einstiien

ayıp - çok da kullanışlı olurdu
warren

12

DNS protokolü ile bunu yapmak mümkün değildir, çünkü tipik olarak PTRher IP adresi için sadece bir kayıt vardır A, bu IP adresini gösteren birçok kayıt olsa da .

Bununla birlikte, bazı şirketler (örneğin, http://www.ip-adress.com/ ), bir dolu DNS araması yükünün sonuçlarını depolayarak ve sonradan kendilerine ters bir sorgu göndererek peşinde olduğunuz şeyi içeren veritabanlarını derlemeyi başardılar. veritabanları.

Bu veritabanları kesin olamaz, ancak bu IP’yi gösterebilecek her olası alan hakkında bilgi edinmeyi garanti edemezler - yalnızca gerçekten aradıkları alan adları için DNS ayrıntılarını kaydedebilirler.


Korktuğum şey buydu .. lanet: - |
warren

1
Tüm TLD'leri idare eden böyle bir arama servisine henüz rastlamadığım bir destek. Aslında denediklerim, .com etki alanları ile aynı sunucuda barındırılsalar bile .com.au alan adlarını listelemediler.
John Gardeniers

1
garip - böyle bir hizmetin sitenin hangi TLD'de olduğunu bile göstermemesi için hiçbir neden yoktur. Dediğim gibi, veritabanlarının yalnızca insanların hakkında sorduğu siteler hakkında bilgi sahibi olduğunu - sanırım .com.au alan adlarını umursamayan yeterli kişi yok ;-)
Alnitak

4

Bunu yapmanın tek yolu, incelemek istediğiniz alan adının içerik verilerine sahip olmaktır.

Bu içerikle, IP'nize göre ana bilgisayar adını aramak için özyinelemeli bir komut dosyası geliştirebilirsiniz (kontrol edilmesi gereken CNAME nedeniyle özyinelemeli).

Bazı etki alanı adı ortağından veri almak için ikincil olmak isteyebilir ve dig -t axfr ile DATA alabilirsiniz.


3

Sanırım buna yanlış yönden geliyorsun. A) olası her etki alanı adı için var olan her DNS sunucusunu sorgulamak ve ardından sonucu depolamak veya b) ilgilendiğiniz DNS sunucularından bölge aktarımlarını almak, bunu DNS ile yapmanın bir yolu yoktur.

Eğer Apache isminize dayalı vhosts kullanıyorsanız, zaten sunucunuza ulaşacak olan etki alanlarının bir listesine sahipsiniz. Varsayılan vhost'un yanı sıra, isme dayalı bir vhost sadece ismini cevaplayacaktır. Bu yüzden foobar.com'u kutumda tutarsam ve bir foobar.com vhost'um yoksa, ya varsayılan olarak sunulur veya cevaplandırılmaz (eğer varsayılan bir sunucunuz yoksa).

Apache'nin çok güçlü bir kayıt özelliği vardır. İstediğiniz istek satırlarıyla özel bir günlük biçimi tanımlamak sorun olmamalıdır. Ayrıca, her zaman yönlendiren alan var.

Posta, diğer taraftan, biraz daha fazla acı verici. Aklıma gelen en iyi şey, sunucu kayıtlarından ne yapabileceğinizi seçmek ve eğer gerçekten bilmeniz gerekiyorsa , SMTP için bir paket yakalama ayarını yapmak.


apache vhosts ile sadece hangi alanlara belirli alanlara gönderdiğimi biliyorum ... yapılandırılmış olan tüm alanları değil: mynewdomain.tld 'yi sunucuma yönlendirirseniz, vhost girişi olmadığı için, apache sadece varsayılan webroot
warren

1
Bununla birlikte, günlükleri seçmek işe yarayabilirdi - bunu sunucunun kendisinde yapmanın bir yolu olarak düşünmemişti.
warren

LogFormat %{Host}i hostnamelog, sonra CustomLog /path/to/log hostnamelogvarsayılan VHost'unuzda, "gerçek" VHosts'nuzdan ayrı olduğundan emin olun. O zaman ara sıra sort /path/to/log | uniq -c | sort -nsana neyin çarptığını anlamak için.
BMDan

2

RobTex'i kontrol etmelisiniz En iyi web tasarımı değil, ama çok kullanışlı! Bir IP ile ilişkili tüm DNS'leri bulabilirsiniz.

Tabii ki, Alnitak’ta açıklandığı gibi,

DNS protokolü ile bunu yapmak mümkün değil

Bu, bu web sitesinin çoğu DNS / IP sunucusunun sadece devasa bir veritabanı olduğu anlamına gelir. Bu oldukça verimli ama% 100 ayrıntılı değil.


Bağlantı kopmuş gözüküyor ya da çok kötü bir
SSL’e sahip
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.