دليل شامل: كيفية العثور على ملف Hosts وتعديله في نظام ويندوز
على الرغم من أن شبكة الإنترنت بمفهومها الحديث لا يتجاوز عمرها الثلاثين عامًا، إلا أن ملف Hosts يمثل في كثير من النواحي أثرًا تاريخيًا من ماضيها (غير البعيد). في معظم الحالات، قد لا تحتاج إلى تحديث ملف Hosts الخاص بك على نظام ويندوز. ومع ذلك، فإن معرفة مكانه وكيفية عمله يمكن أن يكون مفيدًا للغاية في عدة سيناريوهات، منها:
- مواجهة مشكلات في بيئة التطوير المحلية (
local development). - الاشتباه في أن برامج ضارة (
malware) قد تلاعبت بملفHosts. - الرغبة في طريقة سريعة وبسيطة لحظر بعض المواقع الإلكترونية.
- إعداد اختصارات مفيدة لعناوين
IPداخلية.
في هذا المقال، سنتناول ماهية ملف Hosts، وكيفية تعديله على نظام ويندوز، وسنستعرض بعض الحيل المفيدة التي يمكنك إجراؤها باستخدامه.
ما هو ملف Hosts؟ فهم وظيفته الأساسية
في الأيام الأولى لشبكة الإنترنت، قبل انتشارها الواسع، كانت أجهزة الكمبيوتر تستخدم ملف Hosts لربط عناوين IP الطويلة والصعبة التذكر بأسماء مضيفين (hostnames) أقصر وأسهل في الحفظ. على سبيل المثال، إليك سطر ستجده في العديد من ملفات Hosts على أنظمة ويندوز، لينكس، وماك أو إس:
127.0.0.1 localhost
بهذه الطريقة، بدلاً من الاضطرار إلى تذكر عنوان IP طويل، كان كل ما عليك فعله هو زيارة localhost.
لماذا تراجع الاعتماد على ملفات Hosts؟ التحديات التاريخية
لقد عمل نظام ملفات Hosts بشكل جيد في بدايات الإنترنت، ولكن واجهته بعض المشكلات الرئيسية. مع نمو الإنترنت، ازداد طول وتعقيد ملفات Hosts. بالإضافة إلى ذلك، كان كل ملف Hosts يعمل فقط على الجهاز الذي يوجد عليه، وأصبح الحفاظ على تزامنها مع التغييرات في أسماء المضيفين وعناوين IP مهمة شاقة للغاية.
على سبيل المثال، تخيل أن لديك جهازين، A و B. تحتوي ملفات Hosts الخاصة بهما على هذا الربط لموقع google.com:
172.217.26.46 google.com
ولكن عندما تقوم جوجل بتحديث عناوين IP الخاصة بها، يقوم الجهاز A فقط بتحديث ملف Hosts الخاص به ليطابق العنوان الجديد:
172.217.175.78 google.com
وهكذا، يظل جميع المستخدمين على الجهاز B غير قادرين على الوصول إلى جوجل حتى يقوم شخص ما بتحديث ملف Hosts. وعندما يقوم هذا الشخص بتحديث الملف، يضيف إدخالًا آخر للتعامل مع جوجل مع النطاق الفرعي (subdomain) www.
172.217.175.78 google.com
172.217.175.78 www.google.com
الآن، يتم توجيه جميع المستخدمين على الجهاز B إلى الموقع الصحيح سواء زاروا google.com أو www.google.com. بينما يمكن لجميع المستخدمين على الجهاز A زيارة google.com فقط، وليس www.google.com، على الأقل حتى يتم تحديث ملف Hosts الخاص بهم ليطابق التغيير. كما يمكنك أن تتخيل، أصبحت ملفات Hosts معقدة بسرعة كبيرة.
نظام أسماء النطاقات (DNS): الحل الحديث ووريث ملف Hosts
إذا كنت تفكر أنه كان يجب على شخص ما إنشاء مستودع مركزي لربط جميع عناوين IP بجميع أسماء المضيفين، فهذا بالضبط ما حدث. في وقت مبكر، تم الحفاظ على ملف Hosts مركزي يدويًا ومشاركته بواسطة معهد ستانفورد للأبحاث (Stanford Research Institute). أدى هذا النظام إلى اختراع النطاقات (domains) والنطاقات العليا (top-level domains) مثل .com و .edu، وخدمة Whois، وأصبح النظام مؤتمتًا بشكل متزايد. في النهاية، أدى ملف Hosts المتواضع والمبتكرون مثل إليزابيث ج. فاينلر (Elizabeth J. Feinler) إلى اختراع نظام أسماء النطاقات (Domain Name System - DNS) الذي لا يزال قيد الاستخدام حتى اليوم.
كيفية تعديل ملف Hosts في نظام ويندوز (Windows)
لتعديل ملف Hosts على نظام ويندوز 10 (أو الإصدارات الأحدث)، ستحتاج إلى فتحه بامتيازات المسؤول. اتبع الخطوات التالية:
الوصول إلى ملف Hosts كمسؤول
- اضغط على مفتاح ويندوز (
Windows key) في لوحة المفاتيح. - اكتب
notepadفي شريط البحث. - انقر بزر الماوس الأيمن على تطبيق المفكرة (
Notepad) الذي يظهر، ثم اختر “تشغيل كمسؤول” (Run as administrator). - ملاحظة: قد تحتاج إلى النقر على زر السهم لتوسيع القائمة المنسدلة لرؤية خيار “تشغيل كمسؤول”.

فتح ملف Hosts باستخدام المفكرة
- في المفكرة، انقر على “ملف” (
File)، ثم “فتح” (Open). - انتقل إلى المسار التالي:
C:\Windows\System32\drivers\etc. - لن تتمكن من رؤية أي ملفات في هذا الدليل مبدئيًا لأنها ليست مستندات نصية. لتغيير نوع الملف، انقر على القائمة المنسدلة في أسفل يمين نافذة “فتح” واختر “جميع الملفات” (
All Files). - ستجد ملفًا باسم
hosts. انقر عليه نقرًا مزدوجًا لفتحه. - بعد الفتح، سترى محتوى ملف
Hostsمشابهًا لهذا:# Copyright (c) 1993 -2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost

لاحظ أن كل شيء معلق (commented out) باستخدام الرمز #، مما يعني أنه لا يتم قراءة أي شيء فعليًا من ملف Hosts. تتضمن الإصدارات الحديثة من ويندوز نظام DNS خاصًا بها، لذا إذا زرت localhost فسيتم توجيهك تلقائيًا إلى 127.0.0.1. بعد فهم هذه النقطة، إليك بعض الأشياء التي يمكنك القيام بها باستخدام ملف Hosts.
حل مشاكل التطوير المحلي: تفعيل localhost عبر ملف Hosts
إذا كنت تقوم ببعض أعمال التطوير المحلي وتواجه مشكلات مع localhost، يمكنك ببساطة إزالة التعليقات من الأسطر ذات الصلة في ملف Hosts الخاص بك:
...
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
بعد حفظ ملف Hosts، أغلق المفكرة. ثم، افتح PowerShell باتباع الخطوات التالية:
مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات (DNS Cache)
- اضغط على مفتاح ويندوز (
Windows key)، وابحث عنpowershell. - انقر بزر الماوس الأيمن على
Windows PowerShellواختر “تشغيل كمسؤول” (Run as Administrator). - في نافذة
PowerShell، أدخل الأمرipconfig /flushdnsلمسح ذاكرة التخزين المؤقت لنظامDNSالمدمج في ويندوز.

بعد ذلك، يجب أن تكون قادرًا على زيارة localhost في متصفحك ورؤية مشروعك قيد التطوير. إذا كنت لا تزال تواجه مشكلات، حاول إغلاق متصفحك بالكامل، ثم افتح نافذة متصفح جديدة وحاول مرة أخرى.
حماية جهازك: استعادة ملف Hosts الافتراضي من التلاعب
على الرغم من أن ملفات Hosts تراجعت أهميتها مع الأنظمة الأحدث مثل DNS، إلا أنها لا تزال تعمل لأسباب تتعلق بالتوافق مع الأنظمة القديمة (legacy reasons). وقد استغل المتسللون (hackers) هذا الأمر بالتأكيد في الماضي. ما كانوا يفعلونه هو توجيه موقع ويب شائع مثل google.com نحو عنوان IP غير آمن. يمكن أن يقدم عنوان IP هذا موقعًا يبدو تمامًا مثل موقع جوجل، ولكنه في الواقع يحاول سرقة معلوماتك الحساسة.
بينما كانت هذه مشكلة في الماضي، فإن معظم برامج الأمان مثل حزمة أمان ويندوز (Windows Security Suite) يمكنها التعرف على المشكلات في ملف Hosts وإصلاحها تلقائيًا. ومع ذلك، إذا فتحت ملف Hosts الخاص بك ورأيت الكثير من الإدخالات الغريبة، فقد ترغب في العودة إلى ملف Hosts الافتراضي لويندوز. ما عليك سوى نسخ ولصق محتوى ملف Hosts الافتراضي الذي ذكرناه سابقًا في هذا المقال إلى ملف Hosts الخاص بك وحفظه. ثم، افتح PowerShell واستخدم الأمر ipconfig /flushdns لمسح ذاكرة التخزين المؤقت لنظام DNS في ويندوز.
لاحظ أن بعض برامج الأمان التابعة لجهات خارجية تستخدم ملف Hosts لحظر المواقع الخطرة. إذا كان هذا هو الحال، فلا داعي للقلق – يجب أن يقوم برنامج الأمان الخاص بك بإضافة جميع تلك الإدخالات مرة أخرى إلى ملف Hosts الخاص بك. سنتناول كيفية عمل ذلك في القسم التالي.
حظر المواقع: استخدام ملف Hosts لمنع الوصول إلى مواقع معينة
لا ترغب في أن يزور الأصدقاء أو أفراد العائلة مواقع ويب معينة على جهاز الكمبيوتر الخاص بك؟ أو هل أنت مثلي وتشتت انتباهك جميع صور القطط على الإنترنت؟ إذا كان الأمر كذلك، فيمكنك استخدام ملف Hosts لحظر المواقع بالكامل. على سبيل المثال، إذا كنت ترغب في حظر موقع Reddit، فما عليك سوى إضافة هذا إلى أسفل ملف Hosts الخاص بك:
127.0.0.1 reddit.com
127.0.0.1 www.reddit.com
ثم، افتح PowerShell وقم بتشغيل الأمر ipconfig /flushdns لمسح ذاكرة التخزين المؤقت لنظام DNS في ويندوز 10. بالإضافة إلى ذلك، أغلق نوافذ المتصفح المفتوحة وأعد فتحها. بعد ذلك، في كل مرة تحاول فيها زيارة Reddit، أو تنقر على رابط Reddit URL مثل https://www.reddit.com/r/FreeCodeCamp/، سيتم إعادة توجيه متصفحك إلى 127.0.0.1، أو localhost. وبما أنه لا يوجد موقع ويب هناك، سيعرض متصفحك رسالة خطأ:

الجانب السلبي الوحيد هو أن هذا يعمل فقط على جهاز واحد – يمكنك ببساطة استخدام هاتفك وتصفح Reddit عليه بدلاً من ذلك. ومع ذلك، إنها طريقة رائعة لإنشاء بعض “الاحتكاك” على جهاز الكمبيوتر الخاص بالعمل. يقودنا هذا بشكل جيد إلى الحيلة الأخيرة، وهي استخدام ملف Hosts لجعل حياتك أسهل قليلاً.
إنشاء اختصارات محلية: تبسيط الوصول إلى الأجهزة على شبكتك
إذا كنت تقضي الكثير من الوقت في ضبط إعدادات جهاز التوجيه (router) الخاص بك، أو لديك مشروع رائع يعمل على جهاز Raspberry Pi، فستعلم أن كتابة عنوان IP طويل أمر مرهق. بدلاً من ذلك، يمكنك استخدام ملف Hosts لجعل الاتصال بالأجهزة الأخرى على شبكتك المحلية (local network) أسرع بكثير.
على سبيل المثال، إذا كان جهاز التوجيه الخاص بك على 192.168.0.1، يمكنك إضافة ما يلي إلى ملف Hosts الخاص بك:
192.168.0.1 my.router
ثم، قم بمسح ذاكرة التخزين المؤقت لنظام DNS في ويندوز 10 باستخدام الأمر ipconfig /flushdns وأعد تشغيل متصفحك. وبعد ذلك، في أي وقت تزور فيه my.router، يجب أن يتم توجيهك إلى 192.168.0.1.
فقط لاحظ أنك قد تحتاج إلى زيارة http://my.router، على الأقل في المرة الأولى. وإلا فقد لا يتعرف متصفحك على .router كنطاق علوي صالح (valid top-level domain - TLD)، وسيحاول البحث عن المصطلح my.router بدلاً من ذلك. لتجاوز هذا، يمكنك استخدام اسم مضيف مثل هذا بدلاً من ذلك:
192.168.0.1 router.my
يجب أن يعمل هذا على الفور لأن .my هو النطاق العلوي (TLD) للأشخاص والشركات في ماليزيا. لحسن الحظ، هناك الكثير من النطاقات العليا الصالحة في الوقت الحاضر. إليك قائمة ببعض النطاقات العليا الأكثر شيوعًا:
مرة أخرى، الجانب السلبي الوحيد لهذه الطريقة هو أنها تعمل على جهاز واحد فقط. سيتعين عليك تحديث ملفات Hosts على أجهزتك الأخرى لتمكين نفس الاختصارات.
وهذا يجب أن يكون كل ما تحتاج لمعرفته حول ملف Hosts على نظام ويندوز 10. والكثير من هذه المعرفة يجب أن ينطبق أيضًا على أنظمة لينكس (Linux) وماك أو إس (macOS). لذا، انطلق وقم بتخصيص ملف Hosts الخاص بك كما فعل رواد الإنترنت في الماضي.
الخلاصة التقنية
يظل ملف Hosts، على الرغم من عتقه، أداة قوية ومرنة في ترسانة أي مستخدم تقني متقدم أو مطور. بينما قد يكون نظام DNS هو العمود الفقري الحديث لحل أسماء النطاقات، فإن القدرة على التلاعب بملف Hosts محليًا توفر مستوى فريدًا من التحكم. سواء كان ذلك لتسريع عملية التطوير المحلي، أو لتعزيز الأمان ضد التهديدات المحتملة، أو حتى لتخصيص تجربة التصفح اليومية بحظر المواقع المشتتة أو إنشاء اختصارات مريحة، فإن فهم ملف Hosts يضيف طبقة قيمة من المعرفة التقنية التي تتجاوز مجرد الاستخدام اليومي للإنترنت. إنه تذكير بأن بعض أقدم التقنيات لا تزال تحمل إمكانات هائلة عند استخدامها بذكاء.