Перенаправить определенные пакеты приложений на другой сетевой адаптер
Я пытаюсь перенаправить определенные сетевые пакеты из приложения и направить их на свой сетевой адаптер Ethernet. Таким образом, мой бывший браузер будет в обычной сети, а все остальное - в моей сети VPN.
Для этого я использую фильтр пакетов Windows с www.ntkernel.com и PacketDotNet.
Вся логика такова:
Мой внутренний IP-адрес для обычного адаптера будет: 192.168.1.6
Мой внутренний IP-адрес для VPN-адаптера будет: 10.128.19.222
И у меня есть приложение со следующим подключением:
Локальный адрес: 10.128.32.222:50449 -> Удаленный адрес: 54.210.0.167:443
Я бы прослушал адаптер VPN для всех пакетов, которые отправляются с 10.128.32.222:50449 на 54.210.0.167:443.
Затем возьмите пакеты и проанализируйте их с помощью PacketDotNet и измените адрес источника и MAC на мой обычный адрес адаптера, чтобы новый пакет содержал следующие сетевые данные:
Источник 192.168.1.6:50449; Назначение: 54.210.0.167:443
Затем новый пакет отправляется вниз по сетевому стеку через обычный адаптер.
В отдельном потоке я прослушиваю обычный адаптер для всех пакетов, полученных от Source: 54.210.0.167:443; Назначение: 192.168.1.6:50449
Затем возьмите пакеты и проанализируйте их с помощью PacketDotNet и измените адрес назначения и MAC на адрес моего адаптера VPN, чтобы новый пакет
содержал следующие сетевые данные: Источник: 54.210.0.167:443; Назначение: 10.128.32.222:50449
Затем новый пакет отправляется вверх в сетевой стек через адаптер VPN.
У меня практически нет опыта работы в сети, поэтому я не уверен, что делаю неправильно, но это заблокировало бы весь мой трафик для этого конкретного приложения, но я не получаю никакого ответа на свои отправленные пакеты.
Вот мой репозиторий со всем кодом: https://github.com/jonathans04/NetworkReddirect