सर्वर के लिए CNAMEs के लिए DNS का क्वेरी करना


12

क्या सभी CNAME प्रविष्टियों को खोजने के लिए हमारी आंतरिक DNS प्रविष्टियों को क्वेरी करने का एक तरीका है जो किसी विशेष सर्वर को इंगित करता है?

संपादित करें: हम एक विंडोज़ वातावरण हैं, सर्वर 2003।

जवाबों:


6

आपने यह निर्दिष्ट नहीं किया कि आपका वातावरण क्या है, लेकिन यदि आप यूनिक्स का उपयोग कर रहे हैं तो मुझे लगता है कि खुदाई और grep का संयोजन काम करना चाहिए। ns.example.comआपके नामनाम का होस्टनाम होना चाहिए, example.comवह डोमेन है जिसका होस्ट आपका हिस्सा है और HOST वह होस्ट है जिसके लिए आप सभी CNAME रिकॉर्ड ढूंढना चाहते हैं। यह वास्तव में grep कमांड में एक टैब कैरेक्टर है, शाब्दिक रूप से नहीं <TAB>(आपको grep स्ट्रिंग को समायोजित करना पड़ सकता है)।

ज़ोन ट्रांसफ़र की अनुमति देने के लिए आपके नेमसर्वर को कॉन्फ़िगर करने की आवश्यकता है, जिनमें से विशेष रूप से कार्यान्वयन निर्भर होगा।

dig @ns.example.com example.com axfr |grep 'CNAME<tab>HOST$'

या यदि आप विंडोज पर हैं तो आप nslookup का उपयोग कर सकते हैं :

C:\> nslookup
> name ns.example.com
> ls -a example.com FILE

इस डोमेन के लिए रिकॉर्ड के सभी उत्पादन करना चाहिए example.comकि ns.example.com"के बारे में जानता है" फ़ाइल करने के लिए। फिर आप संबंधित CNAMES की तलाश में टेक्स्ट फ़ाइल के माध्यम से जो भी टूल को सॉर्ट करना चाहते हैं उसका उपयोग कर सकते हैं।

या इस अप्रयुक्त (लेकिन सही लग रही है) पर्ल स्क्रिप्ट के साथ :

#!/usr/bin/perl

use Net::DNS;

($target, $zone) = @ARGV;

$res = new Net::DNS::Resolver;
foreach $rr ($res->axfr($zone)) {
     print $rr->name."\n" if (($rr->type eq "CNAME") && ($rr->rdatastr eq $target."."));
}

पूर्णता के लिए कुछ बिंदु:

  • जैसा कि @womble ने कहा है, CNAME के ​​लिए PTR रिकॉर्ड के बराबर नहीं है। आपको CNAMES के लिए सभी ज़ोन सूचनाओं के माध्यम से छाँटकर कुछ प्रासंगिक जागरूकता का उपयोग करना होगा जो आपके होस्ट के रिकॉर्ड के अनुरूप हैं।
  • यह केवल आपके DNS सर्वर के लिए काम करता है (और यदि आपको ज़ोन की जानकारी देखने की अनुमति है)। आपके मेजबान के लिए CNAMES को "ट्रेस" करने का कोई तरीका नहीं है जो अन्य क्षेत्रों से संबंधित हैं।
  • @BillThor के अनुसार, CNAMES से परे एक होस्टनाम को उपनाम देने के अन्य तरीके हैं। फिर, आपको कुछ प्रासंगिक जागरूकता की आवश्यकता होगी।

प्रश्न अपडेट किया गया, हम विंडोज़ पर हैं।
फिल्पुरसग्लोवे

4

यदि आपके पास अपने DNS कॉन्फ़िगरेशन तक पहुंच है, तो यह इस डेटा को खोजने के लिए तुच्छ है। हालाँकि, किसी के पास आपके सर्वर पर इंगित CNAME हो सकता है। आप इन्हें ट्रेस नहीं कर पाएंगे।

जैसा कि @wombie ने बताया है कि आप CNAMES के लिए रिवर्स लुकअप नहीं कर सकते। CNAMES के लिए कोई PTR समतुल्य नहीं है, और वहां भी जहां यह संभावना है कि केवल कुछ रिकॉर्ड मौजूद होंगे। डोमेन के एक यादृच्छिक चयन की एक त्वरित जांच पीटीआर रिकॉर्ड दिखाती है जो अक्सर ए रिकॉर्ड में वापस नहीं आती है। इसी तरह, यादृच्छिक पते के लिए पीटीआर रिकॉर्ड के रिवर्स लुकअप करने से अक्सर संबंधित ए रिकॉर्ड नहीं मिलता है।

EDIT: CNAME किसी सिस्टम को उपनाम देने का एकमात्र तरीका नहीं है। DNS एक ही पते को इंगित करने के लिए एकाधिक A रिकॉर्ड की अनुमति देता है। कार्यात्मक रूप से यह CNAME जोड़ने के समान है लेकिन विधि अलग है। वही समस्याएं आपके डोमेन के बाहर लागू होती हैं। विभिन्न ए रिकॉर्ड्स की खोज करने के लिए आप सिस्टम में आईपी एड्रेस (एस) के लिए खोज करेंगे।


3

DNS प्रोटोकॉल आपको "रिवर्स" लुकअप करने की अनुमति नहीं देता है। आपको प्रोटोकॉल से बाहर जाने की आवश्यकता होगी, जैसे कि kce द्वारा प्रदान किए गए grep सुझावों का उपयोग करना।


2

शक्तियों का उपयोग करें:

अपने Microsoft DNS सर्वर पर प्राथमिक नाम के लिए जाँच करें:

Get-WmiObject -Namespace 'root \ MicrosoftDNS' -Class MicrosoftDNS_AType -Filter "IPAddress = 'xx.xx.xx.xx (IP)'" -Computercame mydnsservername

अपने Microsoft DNS सर्वर से उस होस्ट के लिए सभी नाम प्राप्त करें:

Get-WmiObject -Namespace 'root \ MicrosoftDNS' -Class MicrosoftDNS_CNAMEType -Filter "Primaryname = 'प्राथमिक नाम एक डॉट के साथ समाप्त होने वाली पहली क्वेरी से।" "-CompelName mydnsservername। स्वयं का नाम, प्राथमिक नाम चुनें।


1
  1. अपनी मशीनों द्वारा सर्व किए गए सभी क्षेत्रों का पता लगाएं।
  2. प्रत्येक ज़ोन के लिए, dnscmdज़ोन डेटा निर्यात करने के लिए उपयोग करें:
    dnscmd a.ns.example.com / zoneexport zone.example.com कुछ-फ़ाइल नाम
  3. CNAMEसंसाधन रिकॉर्ड के लिए निर्यात की गई फ़ाइलों को खोजें जो लक्ष्य डोमेन नाम की ओर इशारा करती हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.