| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Фаервол |
| Автор: danie 7.11.2007, 21:38 |
| Приветствую! Вроде бы такие вопросы здесь ещё не задавались. Не знает ли кто, как можно сделать фаервол? А точнее, меня интересует, как можно сделать, чтобы при попытке соединения с любым сервером на моём компьютере, первой получала вопрос о соединении моя программа и она же могла отказать в подключении или пропустить подключение. Похоже на сниффер, который может в определённых случаях запрещать соединение. Сниффер написать не проблема, а вот на соединение он влиять не может... Просто мне хочется написать программу, которая запретила бы доступ к компьютеру с некоторых IP по любым портам. Но использовать файрвол крайне нежелательно (да и самому интересно, как такое работает). Вот и ломаю голову. Спасибо за внимание. |
| Автор: ptr 8.11.2007, 06:13 |
| http://www.programmerworld.net/personal/firewall.htm |
| Автор: danie 8.11.2007, 08:10 |
| О! Огромное спасибо! Правда... там что-то понять затруднительно. |
| Автор: jonie 8.11.2007, 20:16 |
| идея написать фильтрующий драйвер и резать пакеты на уровне драйверов (в винде это зовется как фильтр драйверы, в никсах все немного запутанее....) |
| Автор: danie 8.11.2007, 21:46 |
| Идея-то чудесная, но вот реализация... Да и приведённый файрвол работает как-то иначе. Но я пока глянул код и что-то не очень понял, как именно он это делает. Я не понимаю механизм перехвата без драйвера. Если бы можно было бы перехватить сокетные функции - вот это было бы замечательно... Жалко что ничего по данной теме в русском сегменте не найти, а с английским я дружу очень скверно. А нет, ошибаюсь - у этого файрвола тоже какой-то собственный драйвер подключается. Мда. Интересно... Придётся искать, как такие драйвера писать и использовать... :( |
| Автор: jonie 9.11.2007, 01:44 |
| попробуй посмотреть на код wipfw он попроще наверняка) ну и почитай wasm.ru и их форум, там даже лежал файрволл в сорцах мелкий и простой ) подробнее тама: http://wasm.ru/forum/index.php?action=vthread&forum=12&topic=13699 |
| Автор: nanoo 9.11.2007, 13:44 |
| как насчет inetd? |
| Автор: danie 9.11.2007, 17:20 |
| Спасибо всем! Нет, inetd не пойдёт - это нужно на Windows машину. |
| Автор: RatHat 13.12.2007, 17:16 |
| danie, драйвера такие пишутся на MS DDK (Driver Development Kit) |
| Автор: W4FhLF 13.12.2007, 17:19 |
Сейчас общий набор средств для разработки называется WDK. Качать лучше его. |