ما هو DNS عبر HTTPS؟
يرسل DNS عبر HTTPS (RFC 8484) أسئلة DNS وإجاباتها العادية داخل طلبات HTTPS، فتكون مشفّرة بين العميل والمحلّل ولا يمكن قراءتها أو تعديلها في الطريق. والسجلات ورموز الاستجابة (RFC 1035) هي نفسها في DNS التقليدي، وتقدّم Cloudflare وGoogle أيضاً نسخة JSON من الإجابات نفسها لفحصها بسرعة.
كيفية استخدام مختبر DNS عبر HTTPS (DoH)
- أدخل اسم نطاق، أو عنوان IP للبحث العكسي. ومع عنوان IP يُسأل عن النوع PTR بدلاً من A أو AAAA، لأنه السجل الذي يحمله الاسم العكسي؛ أما الأنواع الأخرى فيُسأل عنها كما اخترتها.
- اختر نوع السجل والمحلّل: Cloudflare أو Google لإجابة مفصّلة واحدة، أو «كل المحلّلات العامة الثمانية» للمقارنة.
- فعّل «طلب سجلات DNSSEC» إذا أردت التواقيع وعلم التحقق، ثم اضغط «استعلام عبر HTTPS».
- اقرأ رمز الاستجابة والأعلام أولاً، ثم السجلات والملاحظات.
مزايا مختبر DNS عبر HTTPS (DoH)
- استعلام من محلّل واحد، Cloudflare 1.1.1.1 أو Google Public DNS، عبر واجهتيهما بصيغة JSON مع الاستجابة كاملة
- وضع كل المحلّلات: السؤال نفسه إلى ثمانية محلّلات عامة بصيغة RFC 8484 الثنائية، مع مقارنة الإجابات جنباً إلى جنب
- رمز الاستجابة والأعلام AD وCD وTC وRD وRA، وقسما الإجابة والسلطة مع قيم TTL، وتعليق المحلّل نفسه
- سجلات DNSSEC اختيارياً (بت DO)، مع قراءة واضحة لعلم AD
- ستة عشر نوع سجل، من A وAAAA وMX وTXT إلى HTTPS وSVCB وCAA وDS وDNSKEY وTLSA؛ ويُبحث عن عنوان IP باسمه العكسي، وبالنوع PTR إذا اخترت A أو AAAA
- أخطاء DNS الموسّعة (EDE) من المحلّلات المرشِّحة تظهر بجانب إجاباتها؛ والجداول قابلة للتنزيل بصيغة CSV
المدخلات والمخرجات
المدخلات
- اسم نطاق (تُقبل التسميات التي تبدأ بشرطة سفلية مثل _dmarc.example.com) أو عنوان IP يُستعلم عنه باسمه في in-addr.arpa أو ip6.arpa (بالنوع PTR إذا اخترت A أو AAAA، لأن الاسم العكسي لا يحمل سجلات عناوين).
- نوع السجل (16 نوعاً)، والمحلّل (Cloudflare أو Google أو الثمانية كلها)، ومع المحلّل الواحد: هل تُطلب سجلات DNSSEC.
المخرجات
- محلّل واحد: اسم المحلّل ورمز الاستجابة وعدد السجلات وزمن الاستعلام والتحقق من DNSSEC؛ وسجلات الإجابة والسلطة مع قيم TTL؛ وأعلام الاستجابة والسؤال وتعليق المحلّل.
- كل المحلّلات: كم محلّلاً أجاب، وهل تتفق الإجابات وكم إجابة مختلفة، وأسرع محلّل وأبطؤه، وصف لكل محلّل بحالته ورمزه وإجابته وزمنه وأي خطأ DNS موسّع.
- ملاحظات تشرح NXDOMAIN وNODATA وSERVFAIL وسلاسل CNAME وعلم AD وأدنى قيمة TTL.
مثال على مختبر DNS عبر HTTPS (DoH)
البحث عن سجل A للنطاق example.com عبر Google Public DNS (تتغير القيم مع الوقت)
الإدخال:
الاسم: example.com · نوع السجل: A · المحلّل: Google Public DNS (JSON عبر HTTPS)النتيجة:
Resolver: Google Public DNS · Response code: NOERROR · Records: 2 · Query time: 21 ms (from the Cloudflare edge) · DNSSEC validated: yes (AD)
Section | Name | Type | TTL (s) | Data
answer | example.com | A | 300 | 172.66.147.243
answer | example.com | A | 300 | 104.20.23.154
Resolver comment: Response from 172.64.32.162.
Findings:
- AD flag set: the resolver validated the DNSSEC signatures of this answer.
- The lowest TTL is 300 s: resolvers may serve this answer from cache for up to that long after a change (a cached TTL counts down).كيف تقرأ نتائج مختبر DNS عبر HTTPS (DoH)
NOERROR مع سجلات إجابةٌ صحيحة. وNOERROR دون سجلات (NODATA) يعني أن الاسم موجود لكن دون هذا النوع؛ أما NXDOMAIN فيعني أن الاسم غير موجود إطلاقاً.
SERVFAIL من محلّل وإجابة من آخر يشير غالباً إلى DNSSEC: المحلّل الفاشل يتحقق من التواقيع ووجد توقيعاً معطوباً، أو فشل استعلامه إلى الخوادم الموثوقة.
AD = yes يعني أن المحلّل تحقق من تواقيع DNSSEC. وAD = no طبيعي في منطقة غير موقّعة، لكنه علامة تحذير في منطقة موقّعة.
في وضع كل المحلّلات، اختلاف الإجابات بعد تغيير مباشرة سببه التخزين المؤقت؛ أما الاختلاف المستمر فمصدره DNS جغرافي أو CDN أو محلّلات مرشِّحة كثيراً ما ترفق خطأ DNS موسّعاً يذكر السبب.
متى تستخدم مختبر DNS عبر HTTPS (DoH)
- التحقق مما تعيده محلّلات Cloudflare وGoogle لسجل غيّرته للتو.
- معرفة هل يحجب محلّل مرشِّح (Quad9 أو AdGuard أو CleanBrowsing) نطاقاً ما، والسبب الذي يذكره.
- فحص استجابة DNS كاملة — الأعلام وقسم السلطة وتعليقات المحلّل — حين يتصرف الاستعلام بشكل غريب.
- التأكد من أن منطقة موقّعة بـ DNSSEC تجتاز التحقق (AD مضبوط) بعد تدوير المفاتيح أو تغيير سجل DS.
استكشاف الأخطاء وإصلاحها
- خطأ تحقق في الاسم: لا تُقبل إلا الأسماء والعناوين العامة؛ وتُرفض العناوين الخاصة والأسماء ذات المقطع الواحد واللواحق الداخلية مثل .local.
- SERVFAIL من محلّل واحد فقط: شغّل أداة فحص DNSSEC على الاسم، وأعد الاستعلام بالمحلّل الآخر للمقارنة.
- رسالة حد المعدل: تشترك استعلامات DNS في رصيد لكل دقيقة لكل زائر؛ انتظر قليلاً وأعد الاستعلام.
- استعلام ANY يعيد سجل HINFO واحداً: هذا سلوك RFC 8482؛ اسأل عن أنواع السجلات التي تحتاجها واحداً واحداً.
الأسئلة الشائعة حول مختبر DNS عبر HTTPS (DoH)
ما هو DNS over HTTPS؟
ينقل DNS over HTTPS (أو DoH، وفق RFC 8484) أسئلة DNS وإجاباتها العادية داخل طلبات HTTPS إلى المحلّل، فتصبح مشفّرة وتبدو كباقي حركة الويب. والإجابات هي سجلات DNS نفسها التي يعيدها الاستعلام التقليدي؛ الذي يختلف هو وسيلة النقل فقط.
هل تكشف الأداة هل يستخدم متصفحي DoH؟
لا. يرسل الاستعلاماتِ خادمُ متقن من حافة Cloudflare، لا متصفحك ولا نظام تشغيلك، فلا تستطيع الصفحة معرفة المحلّل الذي يستخدمه جهازك ولا هل يشفّر DNS. راجع إعداد «DNS الآمن» في متصفحك أو نظامك لذلك.
ما الفرق بين واجهة JSON وصيغة RFC 8484 الثنائية؟
تقدّم Cloudflare وGoogle أيضاً نسخة JSON من DoH (application/dns-json و/resolve) تعيد الإجابة بصيغة JSON مقروءة؛ وتستخدمها الأداة في وضع المحلّل الواحد لأنها تتضمن الأعلام وتعليقات المحلّل. أما RFC 8484 فيرسل رسالة DNS الثنائية نفسها، ويستخدمها خيار كل المحلّلات لأن كل المحلّلات العامة تدعمها.
لماذا تختلف إجابات المحلّلات؟
بعد أي تغيير مباشرة قد يحتفظ كل محلّل بالإجابة القديمة حتى تنتهي مدة TTL. والمواقع التي تستخدم DNS جغرافياً أو CDN تجيب بحسب الموقع، والمحلّلات المرشِّحة مثل Quad9 وAdGuard وCleanBrowsing تحجب بعض الأسماء عمداً، وكثيراً ما ترفق خطأ DNS موسّعاً يعرضه الجدول.
ماذا يعني علم AD؟
Authenticated Data: تحقّق المحلّل من تواقيع DNSSEC للإجابة. لا يُضبط إلا للمناطق الموقّعة التي تصح سلسلة الثقة فيها؛ والمنطقة غير الموقّعة لا تحصل عليه أبداً، وهذا ليس خطأ.
لماذا يُجاب استعلام ANY بسجل واحد غريب؟
يسمح RFC 8482 للمحلّلات بالرد على ANY بإجابة مختصرة بدلاً من كل مجموعات السجلات، وتعيد Cloudflare سجل HINFO واحداً. اسأل عن كل نوع سجل على حدة.
ملاحظات تقنية
يعرّف RFC 8484 بروتوكول DoH: رسالة DNS بالصيغة الثنائية في RFC 1035 تُرسَل في طلب HTTPS بنوع الوسائط application/dns-message. ويستخدم وضع كل المحلّلات هذا بالضبط: طلب POST إلى كل محلّل (أو GET للمحلّل الذي لا يقبل غيره)، أربعة محلّلات في كل مرة.
يستخدم وضع المحلّل الواحد نسخة JSON التي تنشرها Cloudflare (application/dns-json) وGoogle (/resolve): إجابة DNS نفسها مع أعلام الترويسة ورمز RCODE وتعليقات المحلّل كحقول JSON. وضبط بت DO يطلب سجلات RRSIG، ويعبّر علم AD عن تحقق المحلّل نفسه من DNSSEC.
يقيس خادم متقن الأزمنة من حافة Cloudflare التي خدمت طلبك، وتشمل إنشاء اتصال HTTPS بالمحلّل حين يلزم فتح اتصال جديد، فهي ليست زمن DNS على جهازك.
الحدود ومنهجية القياس
كل استعلام يُرسَل من حافة Cloudflare التي يعمل عليها خادم متقن، لا من جهازك. فهو يبيّن ما تجيب به المحلّلات، لا أي محلّل يستخدمه حاسوبك ولا هل يشفّر DNS.
وضع المحلّل الواحد يغطي Cloudflare وGoogle فقط؛ ووضع كل المحلّلات يغطي ثمانية محلّلات عامة دون تفاصيل الأعلام.
تشمل الأزمنة إنشاء اتصال HTTPS عند الحاجة إلى اتصال جديد، والمحلّلات العاملة بتقنية anycast تجيب من الموقع الأقرب إلى الحافة، فالمقارنة صحيحة من تلك النقطة فقط.
الأمان والخصوصية
يُرسَل الاسم الذي تدخله من خادم متقن إلى المحلّلات العامة المذكورة في النتائج، وقد تسجّل المحلّلات الاستعلامات وفق سياسات الخصوصية الخاصة بها. ولا يخزّن متقن أي شيء.
المراجع
- RFC 8484: DNS Queries over HTTPS (DoH)يعرّف DNS over HTTPS: رسالة DNS تُرسَل في طلب HTTPS من نوع GET أو POST بنوع الوسائط application/dns-message، وكيف ينطبق عليها التخزين المؤقت وHTTP/2.
- RFC 1035: Domain Names - Implementation and Specificationصيغة رسائل DNS وأنواع السجلات ورموز الاستجابة (NOERROR وNXDOMAIN وSERVFAIL وREFUSED) التي لا يزال كل محلّل يستخدمها.
- Using DNS over HTTPS (JSON) — Cloudflare 1.1.1.1 docsنسخة application/dns-json من DoH على cloudflare-dns.com: معاملات الاستعلام، وعلما DO وCD، وحقول JSON في الإجابة.