سعید خلیفی
متخصص سرویس های مایکروسافت

فایل Hosts چیست و چه کاربردهایی دارد؟

در شرکت قبلی که کار میکردم، همکارم در یکی از کلاینت ها به مشکل دریافت نکردن Email روی Outlook برخورد کرده بود. با من تماس گرفت و من مرحله به مرحله شروع به راهنمایی کردم. مراحل مختلف را با هم پیش رفتیم که در نهایت مشکل برطرف نشد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

بعد از قطع کردن تلفن، یک دفعه به یاد فایل Hosts افتادم و اینکه چطور ناقص بودن و یا نبودن این فایل، می تواند مشکلات ارتباطی بزرگی به وجود بیاورد، از باز نشدن سایت های اینترنتی گرفته تا برقرار نشدن ارتباط با کامپیوترهای دیگر در شبکه. آن وقت بود که به همکارم در مورد خصوصیات و کارایی های این فایل کوچک ولی مهم، توضیح دادم. تصمیم گرفتم مقداری اطلاعات مختصر را به صورت مقاله ای برای شما دوستان آماده کنم. این مقاله که پیش روی شماست، قسمت اول می باشد.

وب سایت توسینسو

در هنگام استفاده از اینترنت، اکثر افراد با استفاده از اسم سایت ها به آنها وصل می شوند. مثلا ما هر روز آدرس www.ITPro.ir را برای دسترسی به آن در مرورگر اینترنت خود تایپ می کنیم. این در حالی است که نرم افزارهای اینترنتی با استفاده از اسم با یک دیگر ارتباط برقرار نمی کنند. آن ها از IP هایی مانند 78.46.79.22 استفاده می کنند. بنابراین زمانی که آدرس سایت مورد نظر خود را وارد می کنید، نرم افزار شما ابتدا می بایست این اسم را به IP ترجمه کند و سپس به آن متصل شود.

این فایل تقریبا در تمامی سیستم عامل هایی که از بسته پروتکل TCP/IP برای ارتباطات خود استفاده می کنند، موجود می باشد. فایل Hosts یک فایل متنی می باشد و حاوی آدرس های IP می باشد که هر کدام به یک اسم لینک شده اند. همچنین این فایل به صورت قراردادی Hosts نامیده شده است. حال پرسش اصلی این است که فایل Hosts چیست و چه کاری انجام می دهد.

مرور اجمالی

فایل Hosts مانند یک Address Book عمل میکند. زمانی که شما آدرسی مانند www.ITPro.ir را در مرورگر اینترنت خود تایپ می کنید، کامپیوتر شما از این فایل کمک می گیرد که ببیند آیا آدرس IP (مانند شماره تلفن در Address Book) مربوط به این سایت در فایل Hosts موجود می باشد یا نه.

اگر IP در این فایل موجود باشد، کامپیوتر شما از این IP استفاده می کند و سایت باز می شود. اما اگر IP در این فایل موجود نباشد، آنگاه کامپیوتر شما به سراغ سرور DNS میرود. در اکثر اوقات، شما آدرس های زیادی در Address Book خود ندارید، چون آدرسی را درون آن قرار نداده اید. بنابراین در اکثر اوقات کامپیوتر شما برای بدست آوردن آدرس IP، به سراغ سرور DNS میرود.

اگر شما آدرس سایت های تبلیغاتی را به همراه IP کامپیوتر خود درون فایل Hosts قرار دهید، کامپیوتر شما دیگر قادر به تماس با سایت تبلیغاتی نخواهد بود. در اصل کامپیوتر شما تلاش خواهد کرد که با سایت های تبلیغاتی ارتباط برقرار کند، اما با این کار فقط با خودش ارتباط برقرار می کند و به نوعی سیگنل "اشغال" دریافت خواهد کرد. (مرورگر اینترنت، کامپیوتر شما را به عنوان سرورسایت تبلیغاتی در نظر میگیرد. از آنجایی که کامپیوتر شما سرور سایت نیست، بنابراین سایتی باز نخواهد شد.)

سپس کامپیوتر شما از برقراری ارتباط با سایت تبلیغاتی منصرف خواهد شد و بنابراین هیچ گونه تبلیغی باز نخواهد شد. (همچنین ردیابی توسط سایت تبلیغاتی انجام نخواهد گرفت) انتخاب های شما برای مسدود کردن سایت ها فقط محدود به مسدود کردن سرور های تبلیغاتی نیستند. شما می توانید از این طریق، سایت هایی که اهداف تبلیغاتی دارند و یا به دلایل مختلف علاقه ای به دیدن آنها ندارید را نیز مسدود کنید.

بررسی کامل کاربرد فایل Hosts

در سیستم عامل ویندوز و سیستم عامل های دیگر، فایل Hosts کار پیوند دادن اسامی به آدرس های IP را بر عهده دارد. این اسم ها، آدرس هایی مانند www.ITPro.ir هستند که شما هر روز آنها را مشاهده می کنید. اما کامپیوترها در اصل از آدرس های IP برای پیدا کردن وبسایت ها استفاده می کنند.

با وجود اسم هایی مانند www.ITPro.ir، دیگر نیازی به بخاطر سپردن اعداد طولانی برای بازکردن سایت ها نیست.برای مثال، اسم ITPro برابر است با www.ITPro.ir، در حالی که آدرس IP آن برابر است با 78.46.79.22. استفاده از هر کدام از این دو شما را به سایت ITPro خواهد برد. اما اسم سایت می بایست ابتدا به آدرس IP ترجمه شود. اگر شما مستقیما آدرس IP این سایت را وارد کنید، کامپیوتر شما تلاشی برای پیدا کردن اسم آن نخواهد کرد.

یک سلسله گام هایی باید برداشته شوند تا این اسم ها به آدرس IP ترجمه شوند. اولین گام، و گامی که مورد بحث این مقاله است، فایل Hosts موجود روی کامپیوتر است. این فایل به کامپیوتر شما می گوید که چه اسمی به IP ترجمه شده است که کامپیوتر شما بتواند آن را پیدا کند. اگر این IP در فایل Hosts شما موجود باشد، کامپیوتر کار جستجو را متوقف می کند و مستقیما به سایت مورد نظر می رود.

اما اگر موجود نباشد، کامپیوتر به سراغ سرور DNS برای کسب اطلاعات در مورد سایت می رود. از آنجایی که عمل جستجو تا بدست آوردن نتیجه مورد نظر ادامه پیدا می کند، می توانیم از این مکانیزم برای مسدود کردن سایت های مختلف استفاده کنیم. همچنین میتوانیم از این روش برای مسدود کردن سایت های تبلیغاتی، سایت هایی با محتوایی نا مناسب و ... استفاده کنیم.

می توانیم اسم ها و آدرس های IP را درون فایل Hosts قرار دهیم تا کامپیوتر مجبور نباشد برای ترجمه اسم به IP، به سراغ سرور DNS برود. این کار باعث تسریع در دسترسی به سایت می شود، زیرا کامپیوتر شما دیگر به سراغ کامپیوترهای دیگر در اینترنت برای ترجمه اسم به IP نمی رود.

وقتی آدرس سایتی مانند www.ITPro.ir را وارد می کنید، این اسم می بایست به آدرس IP ترجمه شود تا شما بتوانید این سایت را باز کنید. حال اگر شما اسم و آدرس IP را درون فایل Hosts وارد کنید، عمل باز شدن سایت کمی سریع تر خواهد بود، زیرا کامپیوتر شما مجبور نیست از کامپیوتر دیگری برای ترجمه اسم این سایت به IP آن کمک بگیرد.

کامپیوتر ها اسم مخصوص به خود را دارند که "localhost" نامیده می شود و دارای آدرس IP با شماره 127.0.0.1 می باشند و از آن برای رجوع کردن به خود استفاده می کنند. اگر شما اسم سایت دیگری را در فایل Hosts به آدرس IP خود مرتبط کنید، عملا دسترسی به آن سایت را مسدود کرده اید، زیرا تمام تلاش ها برای دسترسی به آن سایت به کامپیوتر شما رجوع داده خواهند شد.

با این شیوه می توانید ار فایل Hosts برای مسدود کردن سایت ها استفاده کنید. با این روش در حقیقت به کامپیوتر خود می گوییم که آدرس IP آن سایتی که قصد مسدود کردنش را داریم، آدرس کامپیوتر خودمان است. با این شیوه، کامپیوتر ما هیچگاه به دنبال آن سایت در محیط بیرون از کامپیوتر خودمان نمیگردد و سایت مذکور باز نخواهد شد.

خیلی از سایت ها لینک هایی به سرورهای دیگر برای دریافت تبلیغات اینترنتی دارند. در خصوص این سایت ها، مرورگر اینترنت موفق بر دریافت اطلاعات مورد نظر خود، اعم از کدها، تصاویر و ...، نمی شود. زیرا ما به کامپیوتر خودمان گفته ایم که در درون خود به دنبال این اطلاعات بگردد.

با این شیوه، تصاویر و لینک های تبلیغاتی در سایت مذکور بارگزاری نخواهند شد و شما فقط مطالب مورد نظر خود را مشاهده خواهید کرد. با این شیوه کامپیوتر شما هیچ ارتباطی با سرورهای تبلیغاتی برقرار نخواهد کرد و بنابراین شما هیچ گونه تبلیغی مشاهده نخواهید کرد و همچنین هیچ گونه Cookie از طرف این سایت ها روی کامپیوتر شما ذخیره نخواهد شد و عملا دیگر مورد ردیابی توسط سرورهای تبلیغاتی قرار نخواهید گرفت. در سیستم عامل های مختلف، این فایل در مکان های مختلف قرار دارد.

مسیر قرارگیری فایل Hosts در لینوکس

/etc/hosts

مسیر قرارگیری فایل Hosts در ویندوزهای 98 و قدیمی تر

c:\windows

مسیر قرارگیری فایل Hosts در ویندوز NT

c:\winnt\system32\drivers\etc

مسیر قرارگیری فایل Hosts در ویندوز XP و 2000

c:\windows\system32\drivers\etc
وب سایت توسینسو

مسیر قرارگیری فایل Hosts در سیستم عامل NetWare

SYS:ETC/HOSTS

مسیر قرارگیری فایل Hosts در سیستم عامل Apple

System Folder:Preferences

نکاتی در مورد فایل Hosts که باید بدانید

1. ورودی ها می بایست به شکل زیر در فایل Hosts قرار بگیرند:

192.168.1.1	mycomputer.mydomain.com

2. این فایل هر دو نوع اسم Domain Name و NetBIOS Name را به IP ترجمه می کند، نه فقط Domain Name.

3. برای تبدیل اسم سایت به IP آن، کامپیوتر شما به صورت پیش فرض به سراغ فایل Hosts می رود. البته این خصیصه در صورت لزوم قابل تغییر است.

4. در هنگام وارد کردن آدرس و IP در این فایل، می بایست حد اقل یک فضای خالی (Whitespace) بین IP و اسم ایجاد کنید.

5. اینکه سیستم عامل فایل Hosts را از فولدر etc بازخوانی می کند، مربوط به یک کلید Registry می باشد که مکان اصلی این فایل را به سیستم عامل معرفی می کند. کلیدی به اسم DataBasePath در شاخه زیر:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
وب سایت توسینسو

6. با توجه به اینکه این فایل نقش بسیار مهمی در ارتباطات بین کامپیوترها در شبکه ایفا می کند، خیلی از ویروس ها، نرم افزار های تبلیغاتی، تروجان ها، Worm ها و یا هکر ها این فایل را مورد هدف قرار می دهند. به این صورت که آدرس های داخل این فایل را به سمت سایت های مورد نظر خود هدایت می کنند. سایت هایی که دارای نرم افزارها و کد های مخرب هستند و یا جنبه تبلیغاتی دارند. مثالی از این مورد، Worm کامپیوتری Mydoom.B است که دسترسی کاربران به سایت های امنیتی کامپیوتر، سایت های مربوط به آنتی ویروس ها و همچنین دسترسی به سایت بروز رسانی ویندوز را مسدود می کرد.

  • توجه: با توجه به نکته ذکر شده، می بایست کمال توجه را در محافظت از این فایل به عمل آوریم. این محافظت شامل اعمال NTFS Permission و همچنین تغییر مکان اصلی این فایل در ویندوز و همینطور در Registry می شود. به این صورت که یک کپی از این فایل تهیه کنید و در مکانی دیگر ذخیره کنید، سپس این آدرس را در Registry نیز اعمال کنید. در این صورت، نرم افزاری تبایغاتی، ویروس ها و ... به سراغ فایل در فولدر etc میروند و آن را ویرایش می کنند، در حالی که شما مکان اصلی فایل را تغییر داده اید. NTFS Permission را می توانید روی کلید Registry مربوطه نیز اعمال کنید.

7. آدرسی که در این فایل وارد می کنید، نباید دارای علائمی مانند \ ،، http:/ و ... باشد.

8. از این فایل می توان برای لینک کردن IPv4 و IPv6 استفاده کرد.

9. ورودی مربوط به localhost با IP به شماره 127.0.0.1 می بایست در تمام فایل های Hosts موجود باشد که از آن برای رجوع به کامپیوتر Local استفاده می شود.

10. می توان از علامت # برای اضافه کردن توضیحات استفاده کرد. لازم به ذکر است که هر خطی که با علامت # شروع شود، مورد بررسی توسط سیستم عامل قرار نخواهد گرفت. می توانید این علامت را بعد از وارد کردن اسم و IP، به ورودی خود اضافه کنید و توضیحات خود را وارد نمایید. در حقیقت اضافه کردن علامت # به ابتدای یک خط، آن خط را غیر فعال خواهد کرد.

وب سایت توسینسو

11. قبل از اعمال هر گونه تغییری در این فایل، حتما از آن Backup تهیه کنید.در این مقاله به معرفی فایل Hosts و کاربردهای آن پرداختم. در مقاله بعد این فایل را به صورت کامل تر و فنی تر معرفی خواهم کرد. همچنین با هم مزایا و محدودیت های این فایل را بررسی خواهیم کرد.

مزایای استفاده از فایل Hosts چیست؟

  1. 1. منابع سیستمی کمی مصرف می کند : با توجه به این که فایل Hosts در دل سیستم عامل قرار دارد، شما بدون نیاز به هیچ نرم افزار دیگری قادر به مسدود کردن سایت های تبلیغاتی و ... خواهید بود. این کار مصرف حافظه (RAM و هارد دیسک) و پردازشگر کامپیوتر شما را تقلیل می دهد که در نتیجه شما منابع آزاد بیشتری روی کامپیوتر برای انجام کارهای خود خواهید داشت.
  2. روی ارتباطات دیگری به جز HTTP نیز کار می کند : بیشتر نرم افزارهای مسدود کننده تبلیغات، فقط فرمان های IP که از پورت HTTP عبور می کنند (پورت Web) را قطع می کنند و این در حالی است که بقیه انتقال ها می توانند عبور کنند. اما فایل Hosts، فرمان های IP روی هر پورتی را قطع می کند، حال آن پورت می خواهد HTTP یا FTP یا هر پورت دیگری باشد.
  3. نگرانی های مربوط به مورد ردیابی قرار گرفتن و لو رفتن حریم شخصی را برطرف کنید : فایل Hosts با قطع کردن فرمان های IP قبل از آنکه حتی از کامپیوتر شما خارج شوند، می تواند مانع از ردیابی و یا لو رفتن حریم شخصی شما به دست شرکت های تبلیغاتی شود و حتی مانع از آن می شود که این شرکت ها بدانند که شما در حال مرور کردن صفحه اینترنتی هستید. در نتیجه این کار باعث حفظ شدن حریم شخصی شما می شود. تمامی سایت هایی که با آدرس 127.0.0.1 وارد می شوند، هرگز مورد دسترسی قرار نخواهند گرفت. سایت هایی که در فایل Hosts نیستند همچنان می توانند شما را مورد ردیابی قرار دهند و برای شما تبلیغات بفرستند.
  4. شما می توانید فایل Hosts را براحتی تغییر دهید : به جای آنکه اجازه دهید افراد و یا نرم افزارهای دیگر تصمیم بگیرند که چه سایت هایی را برای شما مسدود کنند، می توانید این فایل را براحتی و به انتخاب خود تغییر دهید. این به آن معنی است که آدرس هر سایتی را می توانید در این فایل قرار دهید و آن سایت دیگر قابل دسترسی نخواهد بود. می توانید از این روش برای مسدود کردن سایت های تبلیغاتی، ردیابی و یا سایت هایی که دارای محتوای نا مناسب هستند استفاده کنید. شما می توانید تصمیم بگیرید که چه سایتی مسدود شود، بدون آنکه اجازه دهید دیگران برای شما تصمیم بگیرند.
  5. سرعت مرور اینترنت بیشتری را تجربه کنید : با قرار سایت ها با آدرس های صحیحشان در فایل Hosts، کامپیوتر شما دیگر مجبور نیست از کامپیوتر دیگری برای پیدا کردن آدرس سایت استفاده کند. این شیوه به طور قابل توجهی سرعت مرور شما را بالا خواهد برد. زیرا کامپیوتر شما به جای کمک گرفتن از سایت های دیگر، مستقیما به سایت مورد نظر شما خواهد رفت. همچنین با استفاده از مسدود کردن تبلیغات و...، صفحات اینترنتی سریعتر باز می شوند، زیرا بسیاری از محتوای گرافیکی غیر مورد نیاز بارگزاری نخواهند شد.
  6. می توانید از این فایل برای تست شبکه خود استفاده کنید : تصور کنید که یک Web Server راه اندازی کرده اید که هنوز به مرحله پایانی نرسیده است. شما نیاز دارید سایت روی این Web Server را تست کنید، از طرفی نمی توانید سایت مذکور را روی اینترنت ارائه دهید، زیرا دیگران نیز به این سایت متصل خواهند شد. شما می توانید آدرس مورد نظر خود (اسمی که برای سایت در نظر گرفته اید مانند www.mydomain.com) را به همراه IP آن سرور درون فایل Hosts قرار دهید و بدون نیاز به ارائه سایت روی اینترنت، آن را تست کنید. با این روش شما امنیت سایت خود را نیز حفظ می کنید.
وب سایت توسینسو

استفاده از فایل Hosts چه محدودیت هایی دارد؟

  1. در هنگام وارد کردن آدرس ها، نمی توانید از Wildcard استفاده کنید : برای مثال، برای مسدود کردن دامنه های زیر مجموعه www.Yahoo.com، می بایست تمامی دامنه ها را به همراه آدرس های IP مربوطه وارد کنید. با در نظر گرفتن این محدودیت، نمی توانید از علامت * در اول آدرس استفاده کنید
  2. این فایل آدرس هایی که با آدرس IP شروع می شوند را مسدود نمی کند : همانگونه که می دانید، IP تشکیل شده از رشته ای از اعداد که کار اصلی ارتباطات شبکه را انجام میدهد. در حقیقت اسم سایت ها نمایانگر این اعداد هستند. کامپیوتر ها برای ارتباط از آدرس های IP استفاده می کنند، ولی از آنجایی که ما مجبور نباشیم اعدادی طولانی را به خاطر بسپاریم، از اسم سایت ها برای دسترسی به آنها استفاده می کنیم. برای مثال آدرس Yahoo برابر است با www.yahoo.com و IP آن برابر است با 204.71.200.67. ما با استفاده از فایل Hosts، می توانیم آدرس www.yahoo.com را مسدود کنیم، ولی این امر در مورد مسدود کردن آدرس IP صادق نیست. علت این امر این است که از فایل Hosts برای تعیین کردن آدرس IP استفاده میشود. اگر ما از ابتدا آدرس IP سایت مورد نظر را بدانیم، دیگر کامپیوتر ما به سراغ فایل Hosts نرفته و بنابراین نمی توانیم سایت مورد نظر را مسدود کنیم. بنابراین سایت هایی که با آدرس IP در ابتدای اسم خود شروع می شوند، قابل مسدود شدن توسط فایل Hosts نیستند.
  3. نمی توانید جلوی تبلیغاتی را بگیرید که بر روی سرور سایت مورد نظر شما قرار دارند : علت این امر آن است که از فایل Hosts برای مسدود کردن یک سایت به صورت کامل استفاده می شود و از این فایل نمی شود برای مسدود کردن زیرمجموعه های سایت و یا آدرس های زیرشاخه سایت استفاده کرد. برای مثال شما نمی توانید آدرس www.netscape.comads را مسدود کنید، زیرا نمی توانید زیرشاخه ها را مسدود کنید. بنابراین شما ناچار خواهید بود که تمام سرور www.netscape.com را مسدود کنید که منجر به عدم دسترسی شما به این سایت خواهد شد. بنابراین شما می بایست از روشی دیگر (مانند استفاده از نرم افزارهای جانبی) برای مسدود کردن تبلیغاتی استفاده کنید که روی سرور سایت مورد نظر شما قرار دارند.
  4. استفاده نادرست از این فایل ممکن است باعث اختلال در باز کردن برخی از سایت ها شود : اگر آدرسی را به صورت اشتباه در فایل Hosts قرار دهید، منجر به اختلال در باز شدن و یا مشاهده برخی از سایت ها خواهد شد. به خصوص اگر سایت های دیگر برای باز شدن به سایتی که در فایل Hosts وارد کرده اید، نیاز داشته باشند. برای برطرف کردن این مشکل کافیست خط مربوط به آن سایت را از فایل Hosts حذف کنید.
  5. فایل Hosts حجیم ممکن است منجر به کند شدن کامپیوتر شما شود : نکته مهمی که باید مورد توجه قرار بگیرد این است که شکایاتی در مورد کند شدن کامپیوتر کاربرانی شنیده شده است که از فایل Hosts با حجم بالا استفاده می کنند. این مشکل را می توان با خاموش کردن و غیر فعال کردن سرویس DNS Client برطرف کرد. سرویس DNS Client، درخواست DNS قبلی را در RAM کامپیوتر ذخیره (Cache) می کند که به طور فرضی سرعت رسیدگی به درخواست های DNS را بالا ببرد. اما این سرویس تمامی فایل Hosts را نیز درون Cache قرار می دهد که ممکن است باعث کند شده کامپیوتر شود. این سرویس غیر ضروری بوده و می توان آن را غیر فعال کرد. البته دقت کنید که در شبکه های تحت Domain، شما برای خیلی از کارها عملا به این سرویس نیاز خواهید داشت.

نکته: با هر بار Boot شدن کامپیوتر، فایل Hosts به صورت کامل در RAM کامپیوتر شما قرار خواهد گرفت.

لازم به ذکر است که سایت هایی در اینترنت قرار دارند که فایل های Hosts را بروز رسانی کرده و در معرض عموم قرار می دهند. این فایل ها شامل آدرس های بروز شده سایت های تبلیغاتی و سایت هایی با محتوای نا مناسب می باشند. در آخر نمونه ای از فایل Hosts که برای مسدود کردن تبلیغات مورد استفاده قرار می گیرد را می توانید در لینک های زیر مشاهده کنید:

این فایل ها به طور مرتب بروزرسانی می شوند. همچنین قبل از جایگزین کردن فایل اصلی با هر یک از این فایل ها، فایل اصلی را به Hosts.orig تغییر نام دهید تا در صورت لزوم بتوانید مجددا از آن استفاده کنید. توصیه می شود برای محافظت از کامپیوتر خود، از فایل های Hosts که در لینک ها مشاهده می کنید استفاده کنید.


نظرات