Pencarian DNS dengan wildcard?

8

Ada yang suka nslookupatau digmenawarkan kemampuan untuk mencari berdasarkan sesuatu yang terkandung dalam nama ... seperti pencarian wildcard atau sesuatu?

Saya mencoba membuat skrip kecil dengan pembungkus GUI untuk tim helpdesk kami. Idealnya, saya ingin mereka dapat mencari nama belakang pengguna (sesuatu yang selalu ada dalam catatan DNS) dan kemudian saya akan mengisi pulldown dengan opsi yang memungkinkan untuk dipilih.

Saya tidak dapat menemukan cara untuk secara efektif memiliki yang setara dengan nslookup *miller*... akan lebih baik untuk kembali

Name: sf-jacobmiller.localdomain.com
Address: 10.10.10.121

Name: sf-justinmiller.localdomain.com
Address: 10.10.10.144

..which saya kemudian bisa menguraikan ke dalam pull-down bagi mereka untuk memilih.

Saya belum melihat apa yang tersedia ldapsearchyang mungkin dapat melakukan apa yang saya cari. Satu-satunya persyaratan saya adalah ini dibangun ke dalam OSX dan saya tidak perlu menginstal apa pun, kalau tidak saya terbuka untuk solusi yang Anda tawarkan. Terima kasih

TryTryAgain
sumber

Jawaban:

11

Anda bisa mendapatkan daftar lengkap entri di zona dengan transfer zona; Anda harus mengizinkan ini untuk sistem resmi di server DNS Anda.

Setelah selesai, Anda dapat menjalankan transfer dan menerima hasilnya:

dig axfr localdomain.com | grep -i miller
Shane Madden
sumber
Mudah dan lurus ke depan seperti yang saya harapkan. Terima kasih
TryTryAgain
Saya ingin mengedit jawaban Anda grep -iagar tidak peka huruf besar-kecil, kalau tidak saya sadar huruf besar-kecil akan menimbulkan masalah. Tapi saya tidak bisa mengedit sekecil itu. Sekali lagi terima kasih atas solusi yang elegan, persis apa yang saya cari.
TryTryAgain
6

Server nama tidak akan, dengan desain, membiarkan Anda mencari zona atau menanyakan zona apa yang berwenang. Di luar alasan yang jelas untuk mengurangi vektor serangan (Anda tidak bisa membuat permintaan HTTP / 1.1 ke host jika Anda tidak tahu namanya), ada alasan yang sangat bagus untuk ini: zona dapat berisi wildcard sendiri, jadi tanyakan untuk setiap host di zona seperti itu seperti membagi dengan nol.

Jika Anda mengoperasikan server nama yang catatannya ingin Anda cari, Anda bisa melakukan transfer zona ke server nama lokal dan mencari catatan secara langsung. Anda masih perlu mengurai rekaman teks dalam format apa pun yang ditransfer, karena server nama lokal tidak akan merespons secara berbeda.

dartonw
sumber
6

Anda hanya dapat menanyakan DNS-Server jika memiliki catatan khusus. Jadi, tidak akan ada alat seperti itu untuk DNS.

Edit

Zonetransfer tentu saja kemungkinan jika tersedia.

Christopher Perrin
sumber
Sepertinya Anda terbukti salah, seperti yang saya harapkan.
TryTryAgain
3
@TryTryAgain Sebenarnya, dalam kasus umum ia cukup benar: Perhatikan kata-kata kunci dalam jawaban Anda diterima: need to allow this for authorized systems in your DNS server. Misalnya, jika Anda mencoba transfer zona untuk serverfault.com(atau memang hampir semua zona yang tidak Anda kendalikan atau yang belum Anda buat pengaturan dengan administrator DNS) Anda tidak akan mendapatkan hasil.
voretaq7
4
@TryTryAgain Frasa ini juga sedikit kasar. Jika jawabannya sejelas Anda membuatnya terdengar, Anda tidak perlu memposting pertanyaan. Kita semua di sini untuk saling membantu ... biasanya.
Andrew B
1

Setuju dengan jawaban yang dicentang, saya berpikir bahwa for-loop bisa menjadi alternatif bagi seseorang yang tidak berwenang untuk melakukan transfer zona. Jika Anda mengetahui kisaran IP:

name="mthebeau"
net="123.45.67."
for ip in $( seq 1 255 ); do {
    sleep 1; # be kind to the server, unauthorized user
    text="$( nslookup $net$ip 2>&1 | grep "$name" )";
    if [ -z "$text" ]; then continue; fi;
    echo "$text";
}; do

Saya mencari jawaban ini karena saya ingin membuka desktop saya ke pengguna lokal yang IP dan nama mesin saya tidak tahu.

pengguna456228
sumber