Как да редактирате файла Hosts на macOS (Mac OS X)

Файлът с хостове на вашия Mac е малък, но важен текстов документ, който има способността да съпоставя имена на хостове с определени IP адреси.

Докато съвременният Интернет използва различни публични и частни DNS сървъри за картографиране на IP адреси, файлът hosts е удобен начин за отмяна на тези DNS сървъри, позволявайки ви ръчно да насочите адрес на уебсайт към желания IP адрес или да блокирате достъпа до сайт като цяло, като посочите неизползван или вътрешен IP адрес.

Нека да разгледаме набързо как да редактираме файла с хостове на Mac на macOS.

Как да редактирате вашия Mac хост файл с текстово редактиране

Има два основни начина за редактиране на файла hosts в Mac OS X.

Първият е чрез използване на TextEdit, тъй като файлът hosts е обикновен текстов документ. Въпреки това, не можете да отворите файла директно, тъй като той се намира в защитена зона на файловата система. Вместо това трябва да копираме файла на незащитено място, като работния плот, да го редактираме и след това да го копираме обратно.

  • За да намерите файла hosts, отворете Finder, до който можете да получите достъп, като щракнете върху работния плот, търсачката за усмивки в долния ляв ъгъл на екрана или като натиснете cmd + интервал + Finder.
  • Сега изберете падащото меню Go.

3. След това изберете Отиди в папка от менюто.

4. В полето въведете “/private/etc/hosts” в полето и натиснете Return.

5. Ще се отвори нов прозорец на Finder и ще бъде избран хост файлът на вашия Mac. Щракнете и плъзнете го от прозореца на Finder и го пуснете на работния плот.

За да го отворите, просто щракнете двукратно и той ще покаже съдържанието на файла в TextEdit (или текстов редактор по ваш избор).

Блокиране на IP адреси

По подразбиране файлът /etc/hosts е сравнително прост. Той съдържа редица редове с описателен текст, които са „коментирани“ със знака за паунд или число (наричан още паунд или хаштаг) (#).

  Как да деактивирате тракпада, когато е свързана мишка на macOS

Всеки ред, който започва със знак #, е коментар и не се чете от файла /etc/hosts. За всеки ред всеки текст след знака за лира се игнорира от компютъра, което го прави добър начин за добавяне на бележки и описания към вашите файлове. Той също така съдържа IP стойности по подразбиране за localhost и broadcasthost. За да редактирате файла, ще добавите свои собствени редове след broadcasthost.

В допълнение към тестването на новоразработени уебсайтове и миграции на уеб хостинг, друга причина за редактиране на файла hosts е да блокирате достъпа до конкретни уебсайтове.

В нашия пример ще се преструваме, че компютърът, който използваме, е устройство, което искаме да използваме изключително за работа, без да си позволяваме да се разсейваме от Facebook на работната си машина.

За да направите това, въведете IP адреса, който искате да зададете, последван от два раздела и името на хоста. В нашия случай искаме да блокираме Facebook, така че ще съпоставим www.facebook.com на 0.0.0.0, което като невалиден IP адрес ще доведе до грешка.

Сега, когато се опитаме да отидем на www.facebook.com от нашия Mac, уеб браузърът няма да успее да зареди страницата, да се надяваме, че ще ни насърчи да се върнем към работа!

Пренасочване на уеб адреси

Като алтернатива можете да въведете IP адреса на валиден сайт вместо 0.0.0.0, което ще доведе до това, че потребителите, опитващи се да получат достъп до Facebook, ще бъдат насочени към избрания от вас сайт.

  • За да определите IP адреса на уебсайт, можете да използвате командата dig, която е стандартна за macOS. За да копаем сайта чрез терминал, просто отваряме терминал и след това изпълняваме командата dig на URL, която след това ще върне IP адреса като изход.
  • Сега въведете „$ dig www.techjunkie.com + short 104.25.27.105“

Забележка: Кратката опция + запазва изхода само до информацията, от която се нуждаем, което е IP адресът.

3. Отбележете върнатия IP адрес и го използвайте в съпоставянето на файлове с хостове на Mac. Например уебсайтът на The New York Times връща IP адрес 170.149.172.130. Ако съпоставим това с Facebook в нашия хост файл, всеки път, когато някой, използващ Mac, се опита да отиде във Facebook, вместо това ще види New York Times да се зарежда.

  Как да изтеглите вашата Uber фактура за последния месец или година [macOS]

Забележка: Много уебсайтове няма да ви позволят да съпоставите име на домейн с IP адреса, който в момента е съпоставен със сайта, така че ще получите грешка в сигурността, когато опитате.

4. Можете да добавите толкова записи към файла hosts, колкото желаете, като въведете нови съпоставяния на всеки ред. След като направите желаните промени във файла hosts, запазете го на текущото му местоположение на работния плот.

5. След това плъзнете и пуснете файла hosts от вашия работен плот обратно до първоначалното му местоположение в /private/etc. Ако сте затворили прозореца на Finder, сочещ към тази директория, просто използвайте командата Finder > Go > Go to Folder, обсъдена по-горе, за да го отворите отново.

6. Когато пуснете файла hosts обратно в първоначалното му местоположение, macOS ще ви попита какво да правите с немодифицирания хост файл, който вече е там. Изберете Замяна и след това въведете вашата администраторска потребителска парола, за да удостоверите прехвърлянето.

С модифицирания файл hosts вече на място, задействайте вашия уеб браузър, за да тествате промените.

Изчистете своя DNS кеш

В повечето случаи новото съпоставяне трябва да заработи незабавно, но ако не виждате правилното поведение, може да се наложи да изчистите своя DNS кеш, принуждавайки браузъра да чете от вашия хост файл, за да определи съпоставянето.

  • За да изчистите DNS кеша на вашия Mac, отворете Terminal и използвайте следната команда (sudo ви позволява да стартирате тази команда като администратор на вашата машина):
  • Сега въведете „sudo killall -HUP mDNSResponder“ и натиснете Return. Забележка: Ще трябва да въведете вашата администраторска парола, за да изпълните тази команда.
  • За да накарате вашия Mac да изчисти кеша на DNS, след което потвърдете, че е изчистен кеша ви, като повторите потвърждение, въведете тези две команди, разделени с точка и запетая, както е показано тук: „sudo killall -HUP mDNSResponder; кажете, че DNS кешът е бил прочистен“

След това вашият Mac ще излезе през високоговорителите и ще каже „DNS кешът е прочистен.“

  Как автоматично да активирате режима "Не безпокойте", докато споделяте екрана на вашия работен плот [macOS]

Как да редактирате вашия Mac хост файл в терминал с Nano

Стъпките в предишния раздел са достатъчно лесни, но ако искате да избегнете копирането на файла hosts, можете да го редактирате директно в терминала с помощта на UNIX Nano Text Editor, който е вграден в macOS.

  • За да започнете, стартирайте Terminal, въведете следната команда и натиснете Return. Както при всички команди sudo, ще трябва да въведете и вашата администраторска парола, за да я изпълните: „sudo nano /private/etc/hosts“

2. Сега ще видите hosts файл отворете в редактора Nano или vim или друг редактор по ваш избор. За да навигирате и редактирате файла в Nano, използвайте клавишите със стрелки на клавиатурата.

3. Точно както направихме с метода TextEdit по-горе, можем да добавяме, редактираме или премахваме съпоставяния на имена на хост по желание. Тъй като стартирахме Nano с помощта на sudo, всички промени ще бъдат удостоверени и записани директно в оригиналния хост файл, без да е необходимо да го копирате извън неговата домашна директория.

4. Когато приключите с промените, натиснете Control-X, за да излезете от редактора, Y за запазване и Return, за да презапишете съществуващия файл хост.

Както споменахме по-рано, уверете се, че сте изчистили кеша на DNS, ако забележите, че новите ви картографии не работят правилно.

Нашите примери споменават блокиране и пренасочване на разсейващи сайтове в работна среда, но можете също да използвате тези стъпки, за да блокирате ръчно достъпа до злонамерени уебсайтове и, разбира се, също и други употреби.

Ако някога направите грешка и не сте сигурни как да я поправите, винаги можете да възстановите съдържанието на файла hosts по подразбиране, като използвате един от методите по-горе, за да въведете следната информация по подразбиране:

##
# Хост база данни
#
# localhost се използва за конфигуриране на интерфейса за loopback
# когато системата се зарежда. Не променяйте този запис.
##
127.0.0.1 локален хост
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 локален хост

Последни мисли

Знаейки как да редактирате файла hosts в macOS предлага удобен начин за отмяна на DNS сървъри и ръчно насочване на адрес на уебсайт към нов IP адрес или блокиране на достъп и като следвате стъпките, описани по-горе, можете да изпълните тази задача много бързо.

Каква е причината да се стремите да редактирате хост файла на вашия Mac? Как се получи? Моля, кажете ни за това в коментарите по-долу!