Сценарий оболочки или библиотека c ++ для просмотра интернет-соединений и создания брандмауэра - PullRequest
1 голос
/ 13 февраля 2012

(я использую Ubuntu)

Я ищу несколько указателей для написания программы брандмауэра, которая сначала запрещает каждый порт / ip и создает правила, спрашивая вас всякий раз, когда программа хочетчтобы получить доступ к Интернету, очень похоже на прекращенный продукт Kaspersky Anti Hacker для Windows.Я особенно хочу использовать его при просмотре веб-страниц.Поэтому, если мой веб-браузер хочет получить доступ к stackoverflow.com, программа должна спросить меня, следует ли ему установить соединение с IP-адресом stackoverflow.com, или когда торрент-клиент хочет подключиться к одноранговому узлу, он должен запросить либо этот порт, либо этот IP/ port only.

Я использовал gufw, но мне нужно знать порт / ip, прежде чем добавлять правила, чтобы это не было так, как я хочу.Я также пытаюсь держаться подальше от Firestarter, так как последний релиз был в 2005 году. Поэтому я решил написать свой собственный.

Мне просто нужны некоторые указатели на эту тему.Это может быть команда терминала для просмотра соединений, которые я устанавливаю с другими компьютерами, или способ запроса перед установлением соединений, проект с открытым исходным кодом, который звучит так, или программа на языке c ++ для библиотеки / оболочки, которую я могу использовать для написания программы дляэто ... Достаточно было бы любого отведения.

Если бы вы указали мне правильное направление, я был бы признателен.

PS.Я знаком с c ++, shell и php, но это не имеет значения.

1 Ответ

1 голос
/ 13 февраля 2012

Хм, кажется, вас интересует только Windows. Если это так, возможно, вы захотите взглянуть на инфраструктуру Windows Layered Socket Provider (LSP).

Короче говоря, вы можете написать DLL, которая будет автоматически загружаться в любое приложение, использующее Winsock. Эта DLL может перехватывать вызовы любой функции Winsock, такой как connect(), send() и т. Д. Когда такой вызов перехватывается, вы можете показать пользователю какое-то окно с вопросом, хочет ли он подключиться к этому адресу.

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

На сайте Microsoft должно быть много документации о том, как создавать LSP, но я помню особенно хороший пример от компании Komodia - http://www.komodia.com/lsp/lsp-sample.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...