ما هو ملف hosts؟

ملف hosts هو ملف نص عادي يربط أسماء المضيفين بعناوين IP على جهاز الكمبيوتر الخاص بك. يفحصه النظام قبل الاستعلام من خادم DNS، لذلك يتجاوز أي سطر فيه الإجابة التي سيقدمها DNS. يستخدمه المطورون لتوجيه domain مثل myapp.test إلى أجهزتهم الخاصة أو إلى خادم تجريبي، ويستخدمه المستخدمون لحظر المواقع عبر توجيهها إلى 0.0.0.0. يحتوي كل سطر على عنوان IP واحد يتبعه اسم مضيف واحد أو أكثر، وأي شيء يأتي بعد # يُعد تعليقًا.

النظام الموقع
Windows C:\Windows\System32\drivers\etc\hosts
macOS /etc/hosts (وأيضًا /private/etc/hosts)
Linux، BSD /etc/hosts
Android (root) /system/etc/hosts

وصف الأداة

تتيح لك هذه الأداة تحرير ملف hosts باستخدام نموذج. الصق ملف hosts الخاص بك، وسيظهر كل إدخال كبطاقة تحتوي على عنوان IP وأسماء المضيفين والتعليق. عطّل إدخالًا، فيُعلَّق بإضافة #، وأعد تفعيله، فتُزال علامة #. أضف الإدخالات أو غيّرها أو أزلها، وسيُعاد إنشاء النص فورًا. تُحفظ التعليقات والأسطر الفارغة وتباعد الأسطر التي لم تعدّلها كما هي. عند الانتهاء، انسخ النص أو نزّله كملف باسم hosts. تتم جميع العمليات في متصفحك، ولا يُرسل ملف hosts الخاص بك إلى أي مكان.

إذا كان ملف hosts الخاص بك تالفًا، فاختر Windows أو macOS أو Linux ضمن "ملف hosts الافتراضي" للبدء مجددًا من الملف الذي يأتي مع ذلك النظام. يستخدم ملف Linux الاسم my-computer لاسم الكمبيوتر، لذا استبدله باسم جهازك.

الميزات

  • يعثر على الإدخالات التي تم تعليقها ويعرضها على أنها معطّلة، بحيث يمكنك إعادة تفعيلها بنقرة واحدة.
  • يحذّر من عناوين IP غير الصالحة، والإدخالات التي لا تحتوي على اسم مضيف، وأسماء المضيفين غير الصالحة.
  • يوضّح الأخطاء الشائعة: استخدام URL مثل https://example.com/ بدلًا من example.com، أو استخدام port، أو wildcard مثل *.example.com (لا تدعم ملفات hosts هذه الأنماط)، أو استخدام اسم يحتوي على أحرف غير ASCII ويجب كتابته بصيغة Punycode، أو كتابة عنوان IP واسم المضيف بترتيب خاطئ.
  • يحذّر عندما يكون اسم المضيف مرتبطًا مسبقًا بعنوان في موضع سابق من الملف. تستخدم الأنظمة أول تطابق، لذلك يتم تجاهل الربط اللاحق. ويتم التحقق من IPv4 وIPv6 كلٌّ على حدة، لأن ربط اسم بكلٍّ من 127.0.0.1 و::1 أمر طبيعي.
  • يرشّح الإدخالات حسب عنوان IP أو اسم المضيف أو التعليق، مما يساعد في التعامل مع قوائم الحظر الطويلة.
  • يرتّب أسماء المضيفين في عمود واحد باستخدام زر المحاذاة الموجود أسفل النص.

أمثلة

ابدأ بملف hosts التالي:

127.0.0.1 localhost
# 127.0.0.1 myapp.test

فعّل الإدخال الثاني، وأضف اسم المضيف api.myapp.test إليه، ثم أضف إدخالًا يحظر ads.example.com. سيصبح النص كما يلي:

127.0.0.1 localhost
127.0.0.1 myapp.test api.myapp.test
0.0.0.0 ads.example.com

نصائح

يتطلب حفظ ملف hosts صلاحيات المسؤول. في Windows، افتح Notepad بصلاحيات المسؤول والصق النص في الملف. في macOS وLinux، شغّل sudo nano /etc/hosts.

قد يحتفظ نظامك ومتصفحك بالإجابات القديمة لبعض الوقت. لرؤية التغيير فورًا، امسح cache الخاص بـ DNS:

  • Windows: ipconfig /flushdns
  • macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • Linux مع systemd-resolved: resolvectl flush-caches

إذا كان المتصفح يمر عبر proxy، فسيتمكن proxy من البحث عن أسماء المضيفين، ولذلك لن يكون لملف hosts الموجود على جهاز الكمبيوتر الخاص بك أي تأثير هناك.