Есть 3 способа сделать это в Mac OS X, не требуя от вас большего.
- Вы уже упомянули первый способ - использование
/etc/hosts
.
- Вы также исключили использование второго способа - использование плагинов для браузера.
- Третий способ - использовать функцию "Родительский контроль" в Системных настройках.
Существует 4-й способ - если вы говорите о написании кода и реализации собственного сценария или собственного приложения.
Если вы говорите о реализации уровня "под капотом" - т.е. вы хотите реализовать свое собственное приложение (похожее на Little Snitch), то вам следует ознакомиться с концепцией iptables
(системы Linux обычно используют это для управления права доступа к конкретным хостам и портам).
В Mac OS (которая по сути является FreeBSD под капотом), эквивалентом является ipfw
(IP Firewall), а для Mac OS 10.7 и более ipfw
устарел в пользу pf
(Packet Filter).
Справочная статья, на которую вы можете сослаться: http://ikawnoclast.com/security/mac-os-x-pf-firewall-avoiding-known-bad-guys/