Ограничение tcp-связи с конкретными ip с использованием C#

Я хочу сделать простую программу, которая может ограничить любое общение через Интернет, за исключением некоторых конкретных IP-адресов. Так что пользователь может устранить любой нежелательный трафик. Это должно быть просто, и пользователь должен иметь возможность включать и выключать его на лету.

Моей первой мыслью было использовать брандмауэр Windows и настроить его с помощью C#/WPF. И это может быть возможно. Но есть ли более простой способ?

Платформа: Windows 7, .NET 3.5

ура

2 ответа

Решение

Я бы просто использовал брандмауэр Windows, как вы упомянули. Гораздо проще Вот хорошее руководство по изменению брандмауэра Windows в C#.

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

Тем не менее, другой вариант - создать прокси-слой в стеке IP. Наконец, если ваши пользователи ограничены одной программой связи (скажем, IE или что-то еще), вы можете просто создать / использовать программу типа прокси-сервера.

Другие вопросы по тегам