मैं विशिष्ट DNS सर्वर पर क्वेरी कैसे निर्देशित कर सकता हूं?


154

मैं एक विशिष्ट DNS सर्वर को एक क्वेरी जारी करना चाहूंगा, जिसका आईपी पता मुझे पता है। यह वास्तव में कोई फर्क नहीं पड़ता अगर यह विंडोज या * निक्स पर है।

विंडोज में मैं कुछ ऐसा कर सकता हूं:

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com
Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

Non-authoritative answer:
Name:    superuser.com
Address:  64.34.119.12

लेकिन यह स्थानीय मशीन की डीएनएस सेटिंग्स का उपयोग करता है। इसके बजाय, मैं एक विशिष्ट DNS सर्वर का परीक्षण करना चाहूंगा यदि यह मेरे प्रश्नों का सही उत्तर दे रहा है या सभी पर प्रतिक्रिया दे रहा है।

तो यह कुछ इस तरह होना चाहिए:

nslookup --dns-ip=8.8.8.8 superuser.com

जवाबों:


200

मूल A और CNAME रिकॉर्ड के लिए, आप बस कर सकते हैं

nslookup somewhere.com some.dns.server

Usage: 
   nslookup [-opt ...]             # interactive mode using default server
   nslookup [-opt ...] - server    # interactive mode using 'server'
   nslookup [-opt ...] host        # just look up 'host' using default server
   nslookup [-opt ...] host server # just look up 'host' using 'server'

या यदि आप बिना किसी पैरामीटर के बस nslookup टाइप करते हैं, तो आप बहुत अधिक विकल्प कर सकते हैं ...

Commands:   (identifiers are shown in uppercase, [] means optional)
NAME            - print info about the host/domain NAME using default server
NAME1 NAME2     - as above, but use NAME2 as server
help or ?       - print info on common commands
set OPTION      - set an option
    all                 - print options, current server and host
    [no]debug           - print debugging information
    [no]d2              - print exhaustive debugging information
    [no]defname         - append domain name to each query
    [no]recurse         - ask for recursive answer to query
    [no]search          - use domain search list
    [no]vc              - always use a virtual circuit
    domain=NAME         - set default domain name to NAME
    srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc.
    root=NAME           - set root server to NAME
    retry=X             - set number of retries to X
    timeout=X           - set initial time-out interval to X seconds
    type=X              - set query type (ex. A,AAAA,A+AAAA,ANY,CNAME,MX,NS,PTR,SOA,SRV)
    querytype=X         - same as type
    class=X             - set query class (ex. IN (Internet), ANY)
    [no]msxfr           - use MS fast zone transfer
    ixfrver=X           - current version to use in IXFR transfer request
server NAME     - set default server to NAME, using current default server
lserver NAME    - set default server to NAME, using initial server
root            - set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
    -a          -  list canonical names and aliases
    -d          -  list all records
    -t TYPE     -  list records of the given RFC record type (ex. A,CNAME,MX,NS,PTR etc.)
view FILE           - sort an 'ls' output file and view it with pg
exit            - exit the program

7
यह दुर्भाग्यपूर्ण है कि मैनुअल 'डोमेन-नेम' और 'डीएनएस-सर्वर' जैसे कुछ क्लीयर के बजाय 'होस्ट' और 'सर्वर' शब्दों का उपयोग करता है।
क्लियरक्रेसेडो

1
यह पूरी तरह से गलत नहीं है। "डोमेन-नाम" एक होस्टनाम का केवल एक हिस्सा है। आप वास्तव में डोमेन प्रत्यय को छोड़ कर FQDN के "होस्ट" भाग पर लुकअप कर सकते हैं। NSLOOKUPस्वचालित रूप से आपके सिस्टम में कॉन्फ़िगर किए गए किसी भी खोज-प्रत्यय का उपयोग करके मैच प्राप्त करने का प्रयास करेगा।
theCompWiz

1
आप NSLOOKUPविकल्पों का उपयोग करने के लिए पूरी तरह से उपयोग करने की जरूरत नहीं है - वाक्यविन्यास बस थोड़ा अजीब है। उदाहरण :nslookup -all -debug -type=ANY -class=ANY servertolookup.com someDNSserver.com
Coruscate5

11

बस nslookup के विकल्पों में खुदाई करना, जिसे आप प्रदर्शित कर सकते हैं यदि आप आह्वान करते हैं nslookupऔर फिर helpnslookup इंटरैक्टिव मोड के अंदर टाइप करके मुझे सही उत्तर दिया है:

C:\Documents and Settings\Anton Daneyko>nslookup help
Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

*** DNSs2.Uni-Marburg.DE can't find help: Non-existent domain

C:\Documents and Settings\Anton Daneyko>nslookup
Default Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

> stackoverflow.com 8.8.8.8
Server:  [8.8.8.8]
Address:  8.8.8.8

Non-authoritative answer:
Name:    stackoverflow.com
Address:  64.34.119.12

16
मैं मुस्कुराया जब मैंने देखा कि यह उत्तर "जस्ट डिग इन ..." से शुरू होता है ।
होसेन

7

हां, C:\Documents and Settings\Anton Daneyko>nslookup superuser.com superuser.com के आईपी पते का पता लगाने के लिए अपने स्वयं के DNS सर्वर को देखेंगे। यदि आप कमांड लाइन में आईपी एड्रेस या एक अलग डीएनएस सर्वर का नाम जोड़ते हैं, तो यह सुपरसुअर डॉट कॉम के आईपी एड्रेस के लिए डीएनएस सर्वर दिया जाएगा। उदाहरण के लिए:

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 8.8.4.4
Server:  google-public-dns-b.google.com
Address:  8.8.4.4

Non-authoritative answer:
Name:    superuser.com
Addresses:  190.93.245.58
      190.93.246.58
      141.101.114.59
      190.93.247.58
      190.93.244.58

वैसे, 8.8.4.4 Google DNS सर्वर का आईपी पता है।

लेकिन, उपरोक्त दोनों "गैर-आधिकारिक उत्तर" देते हैं, क्योंकि दोनों में से कोई भी SOA नहीं है, जो कि superusit.com डोमेन के लिए आधिकारिक है। दोनों के पास एक कैश्ड कॉपी है जिसे एसओए से प्रचारित किया गया है। यदि आप आधिकारिक सर्वर से पूछना चाहते हैं, तो पहले कमांड का उपयोग करके आधिकारिक सर्वर के आईपी पते का नाम पता करें:

C:\Documents and Settings\Anton Daneyko>nslookup -type=ns superuser.com
Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

Non-authoritative answer:
superuser.com   nameserver = cf-dns02.superuser.com
superuser.com   nameserver = cf-dns01.superuser.com

cf-dns02.superuser.com  internet address = 173.245.59.4
cf-dns02.superuser.com  AAAA IPv6 address = 2400:cb00:2049:1::adf5:3b04
cf-dns01.superuser.com  AAAA IPv6 address = 2400:cb00:2049:1::adf5:3a35
cf-dns01.superuser.com  internet address = 173.245.58.53

यह आपके स्थानीय DNS सर्वर से गैर-आधिकारिक उत्तर देगा, Marburg Uni से, superuser.com के लिए सभी आधिकारिक सर्वर का नामकरण। फिर आप 4 कमांडर सर्वरों में से किसी से भी पूछने के लिए हम पहले इस्तेमाल की गई कमांड का उपयोग कर सकते हैं:

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 173.245.59.4
Server:  cf-173-245-59-4.cloudflare.com
Address:  173.245.59.4

Name:    superuser.com
Addresses:  141.101.114.59
      190.93.246.58
      190.93.245.58
      190.93.247.58
      190.93.244.58

जैसा कि आप देख रहे हैं, इस बार आधिकारिक SOA सर्वर ने IP पते वापस कर दिए हैं, इसलिए आप "गैर-आधिकारिक उत्तर" टिप्पणी को अब और नहीं देखते हैं। यह विशेष रूप से उपयोगी है, जब आपने एक नया डोमेन नाम बनाया है या होस्टिंग प्रदाताओं को बदल दिया है या एक अलग डोमेन रजिस्ट्रार को स्थानांतरित कर दिया है, और आप अपनी वेबसाइट तक नहीं पहुंच सकते हैं, क्योंकि नए आईपी पते 24 घंटे के बाद भी प्रचारित नहीं हुए हैं। फिर आप SOA से शुरुआत कर सकते हैं और सत्यापित कर सकते हैं कि आपका सही IP पता DNS सर्वर द्वारा दिया गया है, और फिर इसे पेड़ के नीचे फॉलो करें। यह देखने के लिए अच्छा है कि क्या Google DNS सर्वरों को परिवर्तन प्राप्त हुए हैं, और फिर अंतिम रूप से यदि आपका स्थानीय DNS सर्वर आपके आईपी पते को सही करने के लिए आपके डोमेन नाम को हल कर सकता है।


1

अपने डिफ़ॉल्ट DNS सर्वर को nslookup में बदलने के लिए आप सर्वर को सर्वर को NAMEorIPofDNS लिखकर बदल सकते हैं। इस उदाहरण में मैंने अपने डिफ़ॉल्ट DNS सर्वर (192.168.50.21) को एक नए (4.2.2.3) में बदल दिया है।

C: \ Windows \ system32> nslookup

डिफ़ॉल्ट सर्वर: UnKnown

पता: 192.168.50.21

सर्वर 4.2.2.3

डिफ़ॉल्ट सर्वर: c.resolvers.level3.net

पता: ४.२.२.३

>

अब मैं ४.२.२.३ बनाम १ ९२.१६1.५०.२१ के खिलाफ प्रश्न करने के लिए तैयार हूं


यह एक और उत्तर को दोहराता है और कोई नई सामग्री नहीं जोड़ता है। कृपया जवाब न दें जब तक कि आपके पास योगदान देने के लिए वास्तव में कुछ नया न हो।
DavidPostill

कोई नई सामग्री नहीं हो सकती है, लेकिन मूल्य। मैं लंबे
प्याज

0

आप अपने कनेक्शन के साथ उपयोग किए जाने वाले प्राथमिक DNS को कॉन्फ़िगर कर सकते हैं।
अपने कनेक्शन गुणों पर जाएं => इंटरनेट प्रोकोल (टीसीपी / आईपी)। (वह स्थान जहाँ आप एक स्थिर IP सेट कर सकते हैं)
यहाँ आप मैन्युअल रूप से परिभाषित कर सकते हैं कि आप प्रत्येक कनेक्शन के लिए किस DNS का उपयोग करना चाहते हैं।
परीक्षण के बाद, आप हमेशा इसे पिछले मान में बदल सकते हैं।


3
मुझे नहीं लगता कि DNS सर्वर को क्वेरी करने का "प्रत्यक्ष" तरीका है।
लेप जुले

0

एक आदेश के साथ निर्दिष्ट DNS सर्वर से विशिष्ट रिकॉर्ड-प्रकार प्राप्त करें

डिफ़ॉल्ट ए और AAAA (और CNAME) रिकॉर्ड के अलावा अन्य रिकॉर्ड देखने के लिए nslookup द्वारा दिए गए DNS का उपयोग करके आपके द्वारा निर्दिष्ट किया गया है:

nslookup -q=<record type> <host> <DNS server>

उदाहरण के लिए, stackexchange.comDNS सर्वर का उपयोग कर डोमेन के लिए एमएक्स रिकॉर्ड वापस करने के 8.8.4.4लिए कमांड होगा:

nslookup -q=MX stackexchange.com 8.8.4.4

0

मैं Openwrt 18.06.1 ARMv6 रास्पबेरी पाई पर काम कर रहा हूं और टॉर डीएनएस के साथ-साथ डीएनएस क्रिप्टो-प्रॉक्सी की स्थापना कर रहा हूं, इसलिए बहुत ही समान समस्या थी। मूल कारण यह है कि स्थानीय isp, root-servers.net से असुरक्षित प्रतिक्रियाओं को इंटरसेप्ट कर रहा है, प्रतिक्रियाएं जो कहती हैं कि साइट नहीं मिली थी, फिर अपनी वेबसाइट पर रीडायरेक्ट करना। हालांकि यह एक महान सुरक्षा दोष नहीं है, लेकिन मुझे यह विशेष रूप से उपयोगी नहीं लगता है।

विशिष्ट पते की क्वेरी करते समय किया जाने वाला पहला परीक्षण वास्तव में एक अमान्य पते की कोशिश करने के लिए है, यह सुनिश्चित करने के लिए कि आपको सर्वर, पोर्ट और होस्ट मापदंडों का उपयोग करते समय एक उचित अशक्त प्रतिक्रिया मिलती है, कई गाइड और संस्करण हैं और यह सोचना आसान है जब आप वास्तव में कैश्ड परिणाम या डिफ़ॉल्ट सर्वर से उत्तर दे रहे होते हैं तो यह पोर्ट टेस्ट कर रहा होता है। एक सुस्त प्रतिक्रिया मिलने के बाद एक सक्रिय सर्वर पते और पोर्ट के साथ काम करें। सक्रिय बंदरगाहों को ओपनस्टैट पर netstat -plnt के साथ दिखाया जा सकता है लेकिन ध्यान दें कि कुछ राउटर कमांड को पहले इंस्टॉल करने की आवश्यकता हो सकती है। पोर्ट 9053 पर मैंने जो टोर सर्विस सेट की है, वह यहां नहीं दिखती है, लेकिन फिर भी टॉरेंट फाइल में DNSPort 127.0.0.1:9053 जोड़ने के बाद काम करता है। इस प्लेटफ़ॉर्म पर nslookup प्रारूप [होस्ट] और [सर्वर] मापदंडों को स्वीकार करता है और मैं nslookup cnn.com 127.0.0.1 # 9053 के साथ टोर डीएनएस का परीक्षण कर सकता हूं। com 127.0.0.1 # 5353 अमान्य पोर्ट नंबर या डोमेन में परिवर्तन करने पर प्रतिक्रिया मिलती है; ; कनेक्शन का समय समाप्त; कोई सर्वर तक नहीं पहुंचा जा सकता है डीग ओपनर पर भी काम करता है लेकिन इसे बाइंड-डिग पैकेज से इंस्टॉल किया जाना है। dig -q 127.0.0.1 -p 9053 www.bbc.com और फिर से अमान्य पोर्ट के लिए विफल हो जाता है। मेरे मामले में समस्या तब हल हो गई जब मैंने / etc / config / network और set विकल्प dns '127.0.0.1' में उन नेटवर्कों के लिए परिवर्तन किया जहाँ मैंने पहले असुरक्षित dns प्रविष्टियों का उपयोग किया था।


0

विंडोज़ के लिए जो आप देख रहे हैं वह निम्नलिखित लेख में प्रस्तुत किया जा सकता है: https://technet.microsoft.com/en-us/library/ff394369.aspx


1
सुपर उपयोगकर्ता में आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
बर्टिब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.