Jika saya memiliki banyak host yang dikonfigurasi pada satu mesin ( VirtualHost ala apache), bagaimana saya bisa melakukan pencarian pada IP dan menemukan semua domain yang dikonfigurasi untuk mencapainya?
Sebagai contoh, saya memiliki beberapa domain web dan email yang terhubung ke server saya. Bagaimana saya bisa menemukan semua domain yang mengarah ke sana?
Apakah itu mungkin?
Saya memiliki entri DNS A untuk semua domain yang saya miliki, ditambah saya tahu beberapa domain teman menunjuk ke server saya. Yang ingin saya lihat adalah jika orang-orang yang saya tidak tahu menunjuk ke sana juga. (Atau jika seseorang telah menolak domain mereka di tempat lain, dan saya dapat menghapus situs web 'lama' mereka dari server saya.)
Tidak mungkin melakukannya dengan protokol DNS itu sendiri, karena biasanya hanya ada satu
PTR
catatan untuk setiap alamat IP, meskipun mungkin ada banyakA
catatan yang menunjuk pada alamat IP itu.Namun beberapa perusahaan (mis. Http://www.ip-adress.com/ ) telah berhasil mengompilasi database yang berisi apa yang Anda cari dengan menyimpan hasil seluruh pencarian DNS dan kemudian menawarkan kueri balik ke dalam milik mereka. basis data.
Namun, basis data tersebut tidak dapat definitif, mereka tidak dapat menjamin untuk mengetahui tentang setiap domain yang mungkin mengarah pada IP tersebut - mereka hanya dapat merekam rincian DNS untuk nama domain yang telah mereka cari.
sumber
Satu-satunya cara untuk melakukan ini, adalah memiliki data konten nama domain yang ingin Anda periksa.
Dengan konten ini Anda dapat mengembangkan skrip rekursif untuk mencari nama host relatif terhadap IP Anda (rekursif karena CNAME akhirnya memeriksa).
Untuk mendapatkan data dari beberapa mitra nama domain, Anda dapat meminta untuk menjadi sekunder dan mendapatkan DATA dengan axfr menggali.
sumber
Saya pikir Anda datang pada ini dari arah yang salah. Selain a) menanyakan setiap server DNS yang ada untuk setiap nama domain yang mungkin dan kemudian menyimpan hasilnya atau b) mendapatkan transfer zona dari server DNS yang Anda minati, tidak ada cara untuk melakukan ini dengan DNS.
Nah, jika Anda menjalankan vhost berbasis nama Apache, Anda sudah memiliki daftar domain yang akan mencapai server Anda. Selain vhost default, vhost berbasis nama hanya akan menjawab namanya. Jadi jika saya mengarahkan foobar.com di kotak saya, dan tidak memiliki foobar.com vhost, itu akan dilayani secara default atau tidak dijawab (jika Anda tidak memiliki server default).
Apache memiliki beberapa fitur logging yang sangat kuat. Seharusnya tidak menjadi masalah untuk menentukan format log khusus dengan baris permintaan yang Anda inginkan. Juga, selalu ada bidang pengarah.
Mail, di sisi lain, sedikit lebih menyusahkan. Tentang hal terbaik yang dapat saya pikirkan adalah memilih apa yang Anda bisa dari server log dan, jika Anda benar - benar perlu tahu , mengatur paket capture untuk SMTP.
sumber
LogFormat %{Host}i hostnamelog
, laluCustomLog /path/to/log hostnamelog
di VHost default Anda, pastikan itu terpisah dari VHost "asli" Anda. Kemudian sesekalisort /path/to/log | uniq -c | sort -n
untuk wawasan tentang apa yang memukul Anda.Anda harus memeriksa RobTex Bukan desain web terbaik, tetapi sangat berguna! Anda dapat mengetahui semua DNS yang terkait dengan IP.
Tentu saja, seperti yang dijelaskan Alnitak,
Itu berarti bahwa situs web ini hanyalah basis data besar dari sebagian besar server DNS / IP. Itu cukup efisien tetapi tidak 100% lengkap.
sumber