Как определить, какая программа открыла слушающий порт, я рассмотрел в статье “Идентификация через Terminal.app сетевых сервисов (lsof)“. Но, как я уже сказал, следить за исходящими соединениями проблематично – например, при захвате трафика с помощью Wireshark не видно, какой именно процесс установил соединение. Штатных способов отслеживания, какая именно программа и куда устанавливает соединение в режиме реального времени я не смог найти.

Однако есть специализированная программа, которая берёт на себя слежение за сетевым трафиком – это “Little Snitch” ($29.95). При любой попытке любого приложения сделать входящее или исходящее соединение она выдаёт окно с предложением решить, что делать – разрешить или заблокировать на выбор (все соединения программы, обращения на порт, обращения на хост, или же обращения на пару хост-порт). Также можно выбрать, это действие будет действовать однократно, либо до выхода из программы, либо всегда.

На основании сделанного выбора создаются правила, доступные через “Little Snitch Rules”:

LS даёт запросы на установление соединение всеми программами. Особенно это чувствительно для работы в Terminal.app. Здесь выдаётся запрос для dig, nslookup, lynx, curl и т.д. – разрешить просто всё для Terminal.app нельзя. Но, с другой стороны, это очень правильно, ведь и в shell может быть rootkit, работающий под видом безобидной программы вроде ls.

На стадии “обучения” придётся ответить на несколько десятков запросов, но в дальнейшем запросы поступают уже “по делу” и не отвлекают от работы. Главное подойти к процессу ответственно и не разрешать всё всем.

Полезная возможность программы – это “Network Monitor”, показывающий активность программ:

С покупкой Little Snitch у меня был неприятный опыт – произошёл сбой и электронный магазин дважды снял сумму с моей карточки. Но и положительный момент был – я убедился, что несмотря на две блокировки транзакция завершается только одна, и через 30 дней мне вторая сумма была возвращена автоматически (я специально не хотел форсировать вопрос, было просто интересно).

Little Snitch получила 4.5 звезды на MacUpdate. Есть положительные отзывы, есть и отрицательные, но положительных гораздо больше. У меня проблем не было, но каждый решает сам – использовать такую систему или нет. В любом случае, если есть опасения по поводу сетевой активности, то стоит использовать Little Snitch, хуже не будет. А когда отпадёт необходимость, то можно его удалить.