Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Возможно ли такое в windows? маршрутизация программ 16.09.06 15:11
Автор: Kirka Статус: Незарегистрированный пользователь
|
Две программы одновременно работающие с интернетом обращаются к одному и тому же ip адресу
Как сделать, чтобы первая обращалась к этому ip адресу через один интерфейс, а вторая - через другой?
Возможно ли осуществить это стандартными средствами windows? Или нужно использовать какой-то специальный софт? Или придется драйвер писать?
|
|
Smotrya kak i chto progi delaut. Esli tupo odin connect... 23.09.06 00:35
Автор: Killer{otpusk} Статус: Незарегистрированный пользователь
|
Smotrya kak i chto progi delaut. Esli tupo odin connect srazu posle starta i vse - mona poprobovat menyat metriki interface'ov scriptom dlya netsh.exe pered zapuskom prog. Esli logika u nih slozhnee - no osnovana na connect to mona napisat svoy LSP i bind'it socket kuda nado pered connect'om (sama proga kstati ne obyazatelno budet uzat bind). Mona i bez LSP propatchit API v proge, no eto hack :)
|
|
Уточнить можно - а зачем это надо? 18.09.06 17:49
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Две программы одновременно работающие с интернетом > обращаются к одному и тому же ip адресу > Как сделать, чтобы первая обращалась к этому ip адресу > через один интерфейс, а вторая - через другой?
Уточнить можно - а зачем это надо?
Есть мысли, но они могут быть ошибочными. Все зависит от цели - нужно, чтоб адрес отправителя разный был или еще что-то?
> Возможно ли осуществить это стандартными средствами > windows? Или нужно использовать какой-то специальный софт? > Или придется драйвер писать?
|
| |
Нужно чтобы две копии одной и той же программы работали... 19.09.06 16:49
Автор: Kirka Статус: Незарегистрированный пользователь Отредактировано 19.09.06 16:50 Количество правок: 1
|
Нужно чтобы две копии одной и той же программы работали через разные одновременно работающие интернет подключения.
|
| | |
Ещё на второй интерфейс можно посадить сервер Socks proxy, а вторую копию проги запускать через какой-нить соксификатор навроде sockscap. 22.09.06 11:12
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 22.09.06 11:14 Количество правок: 1
|
Т.е. так можно будет даже заюзать удалённые машины с их интерфейсами, если навешать там прокси.
|
| | |
Пробежала мысль - если вторую копию можно запустить с... 22.09.06 11:07
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 22.09.06 11:07 Количество правок: 1
|
> Нужно чтобы две копии одной и той же программы работали > через разные одновременно работающие интернет подключения.
Пробежала мысль - если вторую копию можно запустить с другими настройками, а именно адрес, установить для этого адреса маршрут через другой интерфейс, а на некоторой машинке/шлюзике изменять адрес (НАТом, например).
Если все должно быть абсолютно одинаково, то можно попытаться поиграться с теми же маршрутами. То есть установить маршрут через один интерфейс, запустить первую копию, перекинуть на другой, запустить вторую. Но здесь только спецы по сетевой части виндов помогут, а именно запоминает ли Винда интерфейс на время открытия сокета, ну и, соответственно, не "переконнекчивается" ли прога в процессе работы.
|
|
функция bind -- никаких хаков ненужно 17.09.06 17:36
Автор: rvm Статус: Незарегистрированный пользователь
|
|
| |
ВИдимо, программа не его, уже скомпилена, поэтому и хочет хачить... 18.09.06 07:16
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 18.09.06 07:16 Количество правок: 1
|
|
|
Можно попробовать запускать вторую программу в виртуальной машине, к примеру VMWare имеет всякие навороченные биндинги к интерфейсам. 16.09.06 15:18
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| |
А если изменять sockaddr_in? 16.09.06 18:25
Автор: Kirka Статус: Незарегистрированный пользователь Отредактировано 16.09.06 22:51 Количество правок: 1
|
Нет, нужно без использования виртуальных машин...
Обе программы используют обычный winsock2
Что если перехватить функцию bind(.. и в структуре sockaddr_in принудительно ставить адрес нужного интерфейса? Это будет работать?
|
| | |
Относительно в тему: отправьте, плиз, меня на хорошие... 21.09.06 12:02
Автор: HoverHell Статус: Незарегистрированный пользователь
|
> перехватить функцию bind(.. Относительно в тему: отправьте, плиз, меня на хорошие примеры по перехвату функций...
...а если ещё и рабочий пример перехвата функции времени.... ..(что уже совсем другая история).
|
| | |
По идее, должно. 17.09.06 09:47
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
|
|