Я не уверен, что это доступно в OS X, но в Linux я бы использовал команду module
. См. здесь .
Правильно настройте файл модуля, затем добавьте что-то подобное в ваш файл rc (например, ~ / .bashrc):
module load python3.3
Это сделает так, чтобы ваши пути переключались по мере необходимости, когда вы входите в систему, не влияя на системные значения по умолчанию.
Для Windows 2000/XP существует статья с примерами на CodeProject, Разрабатывающем Брандмауэры для Windows 2000/XP
Для Vista я думаю, что необходимо будет использовать Windows Filtering Platform
Обычный подход должен использовать сцепление API. Google может преподавать Вам это. Просто сцепите весь важный сетевой материал, как connect
и listens
и откажитесь от того, что Вы хотите.
Этот вопрос сигнализирующим образом подобен тем, которые спрашивают, как записать алгоритм шифрования. Ответы обоим уже должны закончиться в тонких намеках о решениях для промышленного стандарта что:
Брандмауэр должен осмотреть каждый пакет эффективно и точно, и он поэтому работает в ядре ОС или сетевых стеках. Ошибки или неэффективность подвергают опасности безопасность и производительность всей машины и их в нисходящем направлении.
Создание Вашего собственного брандмауэра низкого уровня является превосходным осуществлением, которое обеспечит образование через многие технологии. Но для любого реального приложения, это намного более безопасно и более умно создать оболочку вокруг существующего брандмауэра API. В соответствии с Windows, netsh
команда сделает это; использование Linux netfilter
и iptables
. Поиск с помощью Google любого из них укажет на Вас на большое количество теории, примеров и другой полезной информации.
Так, для начала работы я повторил бы на TCP/IP (а именно, информация заголовка: порты и протоколы), затем узнайте о различных типах нападений и как обнаружить их. Узнайте о каждой операционной системе интереса и как это взаимодействует с сетевыми стеками. Наконец, думайте об администрировании и входе: как Вы настроите свой брандмауэр и проследите пакеты через него, чтобы гарантировать, что он делает то, что Вы хотите, чтобы он сделал?
Удачи!