Управление сетью в Windows - PullRequest
       1

Управление сетью в Windows

1 голос
/ 10 ноября 2011

Как мне управлять сетевым интерфейсом в Windows? На самом деле, идея очень проста.

  1. Установите соединение с определенным адаптером на компьютере.

  2. Прямой весь трафик адаптера к этой программе.

  3. Дайте права этой программе на то, что нужно передавать на адаптер, а что нет.

Я думаю, что программа должна реализовывать любой интерфейс сетевого адаптера Windows и быть зарегистрирована как драйвер адаптера. Таким образом, когда требуется передать данные в реальный адаптер, программа должна вызвать методы драйвера адаптера. В свою очередь, методы реализуют один и тот же сетевой интерфейс Windows (или тот, который вызывается другим способом, на самом деле не знаю, надеюсь, вы поняли), не так ли?

В результате мы имеем здесь своеобразное наследство. Перед использованием нашего нового драйвера: Windows-приложение и само Windows

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ сетевой интерфейс Windows

ДРАЙВЕР Адаптера1

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ конец границ ОС

Адаптер 1

Используйте наш новый драйвер: Windows-приложение и само Windows

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ сетевой интерфейс Windows

наш водитель

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ сетевой интерфейс Windows

ДРАЙВЕР Адаптера1

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ конец границ ОС

Адаптер 1

Я считаю, что такой интерфейс существует, и я надеюсь, что он реализован очень просто.

1 Ответ

1 голос
/ 10 ноября 2011

Вам, вероятно, понадобится перехватить вызовы Windows API, чтобы действительно это сделать.Это возможно ... Начните с Googling hook API и Winternals - и посмотрите, сможете ли вы найти их пример кода.

Прежде чем Winternals была куплена Microsoft, они опубликовали свой код.http://technet.microsoft.com/en-us/sysinternals/bb545021

Идея такова:

  • Вы пишете программу в пользовательском режиме, которая управляет драйвером перехватывающего устройства.
  • Ваш драйвер перехватывающего устройства определяет, является ли сетевой трафик для данных вызовов API в порядке.
  • Драйвер позволяет нормальным вызовам API успешно выполняться, если они есть.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...