Windows 7: маршрутизация трафика программы через определенный интерфейс

интересно, есть ли какой-то инструмент, который позволяет мне маршрутизировать весь IP-трафик данной программы через определенный интерфейс?

Background: я нахожусь на машине с несколькими сетевыми интерфейсами, подключенными к разным сетям. Я переключил обмен сообщениями с Skype на Wire.com, однако, wire.com клиент Windows не работает через все интерфейсы ("ваше соединение не является частным"). Теперь я хочу маршрутизировать весь IP-трафик, связанный с wire.com через одну частность взаимодействие.

Что я пробовал до сих пор:

  • изменение метрик интерфейса не является опцией, поскольку это ломает несколько других локальных инструментов. Для целей тестирования он работал для Wire.com.
  • ручное редактирование таблицы маршрутизации не работает. Существует список хостов, которые Wire.com клиент подключается. Я разрешил все имена хостов в IP адреса и добавил их в таблицу маршрутизации. Wire.com отказывается работать. Это не вариант, как wire.com утверждает, что IP-адреса могут быть изменены.
  • Я отключил все сетевые интерфейсы, которые не работали с Wire.com и запустил клиент Wire, отслеживающий свой трафик с помощью Wireshark. Я добавил все IP-адреса в таблицу маршрутизации Windows (route add dest-IP gateway), почему-то соединение не работало, когда я снова включил другие интерфейсы.

таким образом, я задаюсь вопросом, есть ли какой-то инструмент, который автоматически направляет трафик данной программы через определенную сеть интерфейс?

25
задан Aileron79
01.02.2023 14:05 Количество просмотров материала 3456
Распечатать страницу

1 ответ

короче, нет.

маршрутизация основана на IP, Порту и протоколе, а не на приложении. Это происходит на системном уровне, в сетевом стеке ОС.

только теоретической способ заставить приложение сделать что-то отличное от всего остального (насколько я могу думать), заключается в том, что приложение-или все остальное-приостановлено, а затем возобновлено на какой-то основе опроса. Когда приложение возобновляет работу, оно изменяет маршрут; когда оно приостановлено меняет его обратно.

однако таким образом невозможно приостановить все процессы, не относящиеся к приложению. (Даже если бы вы могли, я не могу себе представить ничего, кроме низкой производительности из системы или приложения.)

ваши единственные варианты одной ОС, чтобы отличить то, что приложение делает по IP, порту или протоколу - или для переключения между различными сетевыми профилями для все, который использует информацию о сети приложения как приложение запускается и потом прекращается.

альтернативой может быть запуск приложения на виртуальной машине в той же операционной системе, например строки или что-то из VMware.

при этом виртуальная машина будет иметь свой собственный сетевой стек, который можно настроить независимо от хост-ОС, на которой она работает.

0
отвечен Jason Bassford 2023-02-02 21:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх