سؤال كيف يمكنني توجيه استعلام إلى خادم DNS محدد؟


أرغب في إصدار استعلام إلى خادم DNS محدد ، يعرف عنوان IP الخاص به. لا يهم ما إذا كان على Windows أو * nix.

في Windows يمكنني القيام بشيء مثل:

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 الجهاز المحلي. بدلاً من ذلك ، أرغب في الاستعلام عن خادم DNS محدد لاختبار ما إذا كان يستجيب لطلبات البحث الخاصة بي بشكل صحيح أو يستجيب على الإطلاق.

لذلك يجب أن يكون شيء مثل:

nslookup --dns-ip=8.8.8.8 superuser.com

127
2017-12-14 16:43


الأصل




الأجوبة:


بالنسبة إلى سجلات 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

167
2017-12-14 16:54



من المؤسف أن يستخدم الدليل المصطلحين 'host' و 'server' بدلاً من شيء أكثر وضوحًا مثل 'domain-name' و 'dns-server'. - ClearCrescendo
انها ليست صحيحة تماما. "اسم المجال" ليس سوى جزء من اسم مضيف. يمكنك بالفعل عمليات البحث على جزء "المضيف" فقط من FQDN ، حذف لاحقة المجال. NSLOOKUP سيحاول تلقائيًا استخدام أي لاحقات بحث تمت تهيئتها في نظامك للحصول على تطابق. - TheCompWiz
ليس عليك الوصول بشكل كامل NSLOOKUP لاستخدام الخيارات - بناء الجملة هو مجرد غريب قليلا. مثال: nslookup -all -debug -type=ANY -class=ANY servertolookup.com someDNSserver.com - Coruscate5


مجرد حفر في خيارات NSLOOKUP ، والتي يمكنك عرضها إذا كنت تحتج nslookup ثم الكتابة help داخل الوضع التفاعلي NSLOOKUP أعطاني الجواب الصحيح:

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

9
2017-12-14 16:50



ابتسمت عندما رأيت هذه الإجابة تبدأ بـ "فقط حفرجي ... ". - Hossein


نعم فعلا،   C:\Documents and Settings\Anton Daneyko>nslookup superuser.com سوف تبحث عن خادم DNS الخاص بك لمعرفة عنوان IP الخاص بـ superuser.com. إذا قمت بإضافة عنوان IP أو اسم خادم DNS مختلف إلى سطر الأوامر ، فسيبحث عن خادم DNS المعين لعنوان IP الخاص بـ superuser.com. مثلا:

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 ، والذي هو موثوق لمجال superuser.com. كلاهما يحتوي على نسخة مخبأة تم نشرها من SOA. إذا كنت تريد أن تسأل الخادم الموثوق ، فابحث أولاً عن اسم عنوان IP الخاص بالخادم الموثوق ، باستخدام الأمر:

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. ثم يمكنك استخدام الأمر الذي استخدمناه سابقًا لطرح أي من الخوادم الموثوقة الأربعة ، كما يلي:

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 ، ومن ثم لم تر تعليق التعليق "إجابة غير موثوقة" ، بعد الآن. وهذا مفيد بشكل خاص ، عندما تقوم بإنشاء اسم نطاق جديد أو تغيير مقدمي خدمة الاستضافة أو نقله إلى مسجّل نطاق مختلف ، ولا يمكنك الوصول إلى موقع الويب الخاص بك ، حيث لم يتم نشر عناوين IP الجديدة حتى بعد 24 ساعة. ثم يمكنك البدء بالخادم SOA والتحقق من أن عنوان IP الصحيح الخاص بك يتم تقديمه من خلال خادم DNS ، ثم تتبعه إلى أسفل الشجرة. من الجيد التحقق مما إذا كانت خوادم Google DNS قد تلقت التغييرات ، وأخيرًا إذا كان بإمكان خادم DNS المحلي حل اسم المجال الخاص بك لتصحيح عنوان IP.


7
2017-09-22 13:20





لتغيير خادم DNS الافتراضي في NSLOOKUP يمكنك ببساطة تغيير الخادم عن طريق كتابة الخادم NAMEorIPofDNS في هذا المثال أدناه ، قمت بتغيير خادم DNS الافتراضي الخاص بي (192.168.50.21) إلى خادم جديد (4.2.2.3)

C: \ ويندوز \ SYSTEM32> NSLOOKUP

الخادم الافتراضي: UnKnown

العنوان: 192.168.50.21

الخادم 4.2.2.3

الخادم الافتراضي: c.resolvers.level3.net

العنوان: 4.2.2.3

>

الآن أنا مستعد لتقديم استعلامات ضد 4.2.2.3 مقابل 192.168.50.21


1
2018-03-30 20:02



هذا تكرار إجابة أخرى ويضيف أي محتوى جديد. من فضلك لا نشر إجابة ما لم يكن لديك بالفعل شيء جديد للمساهمة. - DavidPostill♦
لا محتوى جديد ربما ، ولكن قيمة. انا افضل هذه الاجابه على البوق الطويل :) - Pawel Cioch


يمكنك تكوين DNS الأساسي ليتم استخدامه مع اتصالك.
انتقل إلى خصائص الاتصال الخاصة بك => إنترنت Procol (TCP / IP). (المكان حيث يمكنك ضبط IP ثابت)
هنا يمكنك تحديد DNS الذي تريد استخدامه يدوياً لكل اتصال.
بعد الاختبار ، يمكنك دائمًا تغييرها إلى قيمتها السابقة.


0
2017-12-14 16:50



لا أعتقد أن هذه هي طريقة "مباشرة" للاستعلام عن خادم DNS. - lepe


احصل على أنواع سجلات محددة من خادم DNS المحدد بأمر واحد

للبحث عن أنواع السجلات بخلاف الافتراضي A و AAAA (و CNAME) السجلات التي يتم إرجاعها بواسطة nslookup ، باستخدام خادم DNS الذي تحدده:

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

على سبيل المثال ، لإرجاع سجلات MX للمجال stackexchange.com باستخدام خادم DNS 8.8.4.4 سيكون الأمر:

nslookup -q=MX stackexchange.com 8.8.4.4

0
2017-09-24 20:07





أنا أعمل على Openwrt 18.06.1 ARMv6 Raspberry pi وإعداد نظام أسماء النطاقات بالإضافة إلى dnscrypt-proxy ، لذلك كانت هناك مشكلة مشابهة جدًا. السبب الرئيسي هو أن isp المحلية اعتراض الردود غير الآمنة من root-servers.net ، الردود التي تقول لم يتم العثور على الموقع ، ثم إعادة توجيه إلى موقع الويب الخاص بهم. على الرغم من أنه ليس عيبًا أمنيًا كبيرًا ، إلا أنني لا أجده مفيدًا على وجه الخصوص.

الاختبار الأول الذي يجب القيام به عند الاستعلام عن عنوان محدد هو في الواقع محاولة عنوان غير صالح ، للتأكد من حصولك على استجابة فارغة مناسبة عند استخدام الخادم والمنفذ والمعلمات المضيفة ، هناك العديد من الأدلة والنسخ ، ومن السهل التفكير كنت تفعل اختبار منفذ عندما يكون في الواقع الرد من النتائج المخزنة مؤقتًا أو الخوادم الافتراضية. بعد الحصول على استجابة فارغة ثم العمل مع عنوان الخادم النشط والمنفذ. يمكن عرض المنافذ النشطة على openwrt باستخدام netstat -plnt لكن لاحظ أن بعض أوامر جهاز التوجيه قد تحتاج إلى التثبيت أولاً. لا تظهر خدمة Tor التي قمت بتعيينها على المنفذ 9053 هنا ولكن لا تزال تعمل بعد إضافة DNSPort 127.0.0.1:9053 إلى ملف torrc. يقبل تنسيق nslookup على هذه المنصة [host] و [server] parameters ويمكنني اختبار tor dns باستخدام nslookup cnn.com 127.0.0.1 # 9053 يمكنني اختبار dnscrypt مع الأمر nslookup cnn.com 127.0.0.1 # 5353 يؤدي التغيير إلى أرقام منافذ أو نطاقات غير صالحة إلى الحصول على رد ؛ . انتهت مدة الاتصال؛ لا يمكن الوصول إلى خوادم يعمل Dig أيضًا على openwrt ولكن يجب أن يتم تثبيته من حزمة الربط. dig -q 127.0.0.1 -p 9053 www.bbc.com وفشل مرة أخرى للمنافذ غير صالحة. في حالتي تم حل المشكلة عندما قمت بتغيير الإدخالات في / etc / config / network وتعيين dns '127.0.0.1' للشبكات حيث سبق لي استخدام إدخالات dns غير آمنة هناك.


0
2017-10-05 09:42





فيما يتعلق بالنوافذ ، قد يتم عرض ما تبحث عنه في المقالة التالية: https://technet.microsoft.com/en-us/library/ff394369.aspx


0
2017-10-12 11:59



مرحبًا بك في Super User! في حين أن هذا قد يكون من الناحية النظرية الإجابة على السؤال ، سيكون من الأفضل لتشمل الأجزاء الأساسية من الإجابة هنا ، وتوفير الرابط كمرجع. - bertieb