Доступ Блочного приложения для сетей через API Какао (API LittleSnitch)?

Эти дополнительные методы довольно полезны для меня при парсинге входа формы прежде, чем поместить в базу данных

public static int? ToInt(this string input) 
{
    int val;
    if (int.TryParse(input, out val))
        return val;
    return null;
}

public static DateTime? ToDate(this string input)
{
    DateTime val;
    if (DateTime.TryParse(input, out val))
        return val;
    return null;
}

public static decimal? ToDecimal(this string input)
{
    decimal val;
    if (decimal.TryParse(input, out val))
        return val;
    return null;
}
11
задан Brock Woolf 16 July 2009 в 08:25
поделиться

4 ответа

Я понимаю, что это год позже, но я искал нечто подобное и наткнулся на то, что, как мне кажется, является ответом. Надеюсь, это поможет кому-то еще в будущем.

Little Snitch, похоже, использует Network Kernel Extensions для фильтрации входящего в систему трафика. Я подтвердил это, обнаружив, что он устанавливает расширение ядра на коробке:

[~] kextstat
...
55 0 0x687000 0x2b000 0x2a000 at.obdev.nke.LittleSnitch (2.0.46) <7 6 5 4 2>
...

Если вы программно хотите запретить сетевой доступ к другому приложению, это, по-видимому, ваш лучший выбор. Однако если вы просто хотите отслеживать использование сети другими приложениями, у вас есть другие варианты, например libpcap .

11
ответ дан 3 December 2019 в 08:05
поделиться

Если вы ориентируетесь на OS X 10.5 (Leopard), вы можете использовать API песочницы. sandbox_init , вероятно, хорошее место для начала; вы можете использовать параметр kSBXProfileNoInternet , чтобы остановить доступ в Интернет.

Здесь также имеется более подробная статья , в которой приводятся некоторые примеры более детального управления с использованием удлинителей ремня безопасности .

2
ответ дан 3 December 2019 в 08:05
поделиться

Брандмауэр приложений в Mac OS X 10.5 делает нечто подобное, но в настоящее время Apple поддерживает его использование только для разрешения / блокировки определенных приложений от приема входящих соединений. Это делается с помощью расширения ядра, которым управляет демон / usr / libexec / ApplicationFirewall / socketfilterfw , который, в свою очередь, настраивается с помощью панели настроек брандмауэра.

1
ответ дан 3 December 2019 в 08:05
поделиться

Извините, вопрос не проясняет, хотите ли вы написать свою собственную программу для решения этой проблемы или просто спрашиваете, есть ли уже какая-нибудь программа для заполнения та же роль.

Если последнее, то Маленький Снитч сделает именно то, что вы просите. Он сообщит вам, какое приложение пытается получить доступ к внешнему Интернету, и предложит вам варианты, разрешить или запретить доступ на основе набора правил. Однако это не полностью автоматический режим.

0
ответ дан 3 December 2019 в 08:05
поделиться