Есть ли лучший способ заблокировать входящие / исходящие соединения, чем файл hosts (Mac)

1

редактирование /etc/hosts позволяет легко блокировать / разблокировать сайты, но если у вас уже открыт браузер, он не будет работать, пока кэш браузера не будет очищен.

Есть ли какой-нибудь простой способ для OSX блокировать соединения с определенными хостами, желательно без стороннего программного обеспечения? Я думаю, что Little Snitch делает то, что мне нужно, за кулисами, если кто-то понимает, как это работает.

Alex Marchant
источник
вы указываете без стороннего программного обеспечения , но было бы преступно не упоминать, что Маленькая снитч делает то, что вы хотите блестяще! И должна быть стандартная установка на каждом компьютере OSX, подключенном к Интернету!
Jarrod Roberson
@JarrodRoberson Люблю маленький снитч! Я ищу разработку программного обеспечения, которое может блокировать сайты самостоятельно, схожую функциональность, есть идеи, как работает LS под капотом?
Alex Marchant

Ответы:

3

Есть 3 способа сделать это в Mac OS X без необходимости делать намного больше.

  1. Вы уже упомянули первый способ - используя /etc/hosts,
  2. Вы также исключили использование второго способа - использование плагинов для браузера.
  3. Третий способ - использовать функцию «Родительский контроль» в Системных настройках.

Существует 4-й способ - если вы говорите о написании кода и реализации собственного сценария или собственного приложения.

Если вы говорите о реализации уровня «под капотом» - т.е. вы хотите реализовать собственное приложение (похожее на Little Snitch), то вам следует ознакомиться с концепцией iptables (Linux-системы обычно используют это для управления правами доступа к конкретным хостам и портам).

В Mac OS (которая по сути является FreeBSD под капотом), эквивалент ipfw (IP Firewall) и для Mac OS 10.7 и выше, ipfw устарела в пользу pf (Пакетный фильтр).

Справочная статья, к которой вы можете обратиться: http://ikawnoclast.com/security/mac-os-x-pf-firewall-avoiding-known-bad-guys/

Calvin Cheng
источник
Спасибо за добавление в ваш ответ, это то, что я искал.
Alex Marchant