Socketы написание прозрачного прокси.

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
koshmel
VIP
VIP
Сообщения: 373
Зарегистрирован: 24.03.2007
Контактная информация:

#1 Сообщение 03.06.2009, 21:31

есть два сервера 192.168.0.37:3001 и 192.168.0.38:3001
нужно весь выходящий поток 1-го сервера слать 2-му и на оборот.
данные бинарные. задежка должна быть минимум.
ну делаем прозрачный шлюз/прокси так можно сказать

срочно нужно. (вопрос жизни и сессии)
Изображение
kadet89 писал(а):Не врубился в этот алгоритм...но думаю моно попробовать через бинарник изменить саму команду...только вот в каком файле она?

Aizek
Нович0к
Нович0к
Сообщения: 21
Зарегистрирован: 02.07.2008
Поблагодарили: 1 раз

#2 Сообщение 06.06.2009, 19:56

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

ZaRDaK
Лейтенант
Лейтенант
Сообщения: 204
Зарегистрирован: 23.10.2007
Откуда: Kiev, UA
Поблагодарили: 2 раза
Контактная информация:

#3 Сообщение 06.06.2009, 20:15

koshmel писал(а):есть два сервера 192.168.0.37:3001 и 192.168.0.38:3001
нужно весь выходящий поток 1-го сервера слать 2-му и на оборот.
данные бинарные. задежка должна быть минимум.
ну делаем прозрачный шлюз/прокси так можно сказать

срочно нужно. (вопрос жизни и сессии)
ИМХО поставлено условие зделать через прокси, и никакими другими способами.
And when you kill a man you're a murderer,
Kill many and you're a conqueror
Epic Quotes
Gamesof писал(а):Опана
Незаскринил но это лол!
Дедушка поднимает зои поднял на зои хант прыг!!!!!!
и зои сразу
спасибо билл. :shock: :crazy:
Mr.Dick писал(а): я за ету мобилу отдал 9000 рублей и чо 3д игры неидут я убъю оператора
Lumin писал(а):во первых я не нюб я ваши форумы непонимаю во вторых кнопка найти сервер так и не появилас
Snooker-Fan писал(а):У меня возникла очередная проблема. При установке драйверов пишет, что двайвера не совпадают с уст оборудованием. (устонавливаю после удаления по ФАК). Двайвера совместимы с системой на 100%. Vista SP1
GeForce 9800 GТ, 174.74_geforce_winxp_64bit_english_beta
unique писал(а):Я пошутил, ты только шрифт тут не ПОДНИМАЙ.
KRIK73 писал(а):Как настроить l4d на красно-синий

Aizek
Нович0к
Нович0к
Сообщения: 21
Зарегистрирован: 02.07.2008
Поблагодарили: 1 раз

#4 Сообщение 06.06.2009, 20:23

сервер кому то ведь должен что то отправлять. про клиента ничего не сказано. если нужен NAT то это RAW сокеты и пишем упрощенный вариант службы RRAS
если же эти два сервера необходимо просто связать друг с другом то пишется программа которая подключается к обоим и просто редиректит потоки

Аватара пользователя
koshmel
VIP
VIP
Сообщения: 373
Зарегистрирован: 24.03.2007
Контактная информация:

#5 Сообщение 09.06.2009, 18:56

и так разкажу подробней.
есть 2 девайса/серверы
Про девайсы
на них открыты два порта TCP
назначение портов: в устройстве есть два RS-232 входа. вот именно эти интерфейсы конвертируются в enternet

Aizek
эти два сервера необходимо просто связать друг с другом

пишется программа которая подключается к обоим и просто редиректит потоки.
вот с этим у меня проблема :(
Изображение
kadet89 писал(а):Не врубился в этот алгоритм...но думаю моно попробовать через бинарник изменить саму команду...только вот в каком файле она?

Аватара пользователя
x_000
Полковник
Полковник
Сообщения: 4889
Зарегистрирован: 25.02.2008
Откуда: Deutsches Reich
Благодарил (а): 6 раз
Поблагодарили: 18 раз

#6 Сообщение 09.06.2009, 20:40

koshmel
насколько я понял, речь идет о маршрутизации?

Аватара пользователя
koshmel
VIP
VIP
Сообщения: 373
Зарегистрирован: 24.03.2007
Контактная информация:

#7 Сообщение 09.06.2009, 21:04

вот что сделал я.
проблема в том что надо переделать нитях чтобы receivebuf не блокировало процесс.
http://clip2net.com/page/m17455/1135090
т.е. мозг взорвало понимаю что нужно перевести в неблокирующие состояния прокси.
но с ними я не работал (
Изображение
kadet89 писал(а):Не врубился в этот алгоритм...но думаю моно попробовать через бинарник изменить саму команду...только вот в каком файле она?

Aizek
Нович0к
Нович0к
Сообщения: 21
Зарегистрирован: 02.07.2008
Поблагодарили: 1 раз

#8 Сообщение 09.06.2009, 23:31

вот держи готовую прогу
Вложения
xxx.rar
(1.04 КБ) 209 скачиваний
xxx.rar
(1.04 КБ) 209 скачиваний

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#9 Сообщение 09.06.2009, 23:33

Aizek писал(а):вот держи готовую прогу
о, а можно то же самое только для udp портов? Просто пишу сейчас порт редиректор, но немогу никак понять как редиректить udp.
Последний раз редактировалось Megalan 09.06.2009, 23:35, всего редактировалось 2 раза.

Aizek
Нович0к
Нович0к
Сообщения: 21
Зарегистрирован: 02.07.2008
Поблагодарили: 1 раз

#10 Сообщение 09.06.2009, 23:35

Megalan писал(а):
Aizek писал(а):вот держи готовую прогу
о, а можно то же самое только для udp портов?
просто замени везде IPPROTO_TCP на IPPROTO_UDP и все
Последний раз редактировалось Aizek 09.06.2009, 23:42, всего редактировалось 2 раза.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#11 Сообщение 09.06.2009, 23:36

Буду благодарен, ибо бьюсь уже 2 день

Aizek
Нович0к
Нович0к
Сообщения: 21
Зарегистрирован: 02.07.2008
Поблагодарили: 1 раз

#12 Сообщение 09.06.2009, 23:38

см. выше
попробуй и отпишись. по идее все остальное остается таким же и должно работать на ура

Аватара пользователя
x_000
Полковник
Полковник
Сообщения: 4889
Зарегистрирован: 25.02.2008
Откуда: Deutsches Reich
Благодарил (а): 6 раз
Поблагодарили: 18 раз

#13 Сообщение 09.06.2009, 23:58

до сих пор не понял, что нужно сделать :( Как я понял, есть две машины, а третья играет роль прокси и нужно, что бы через третью машину выходящий поток первой машины шел на вход второй машины? Так это же легко реализуется с помощью протокола ARP: третья машина отправляет арп-пакет первой, в котором указывается, что ИПу второй машины соответсвует MAC-адрес третьей, потом к третьей машине будет поступать выход первой машины, ну а дальше третья отправляет все это на первую.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#14 Сообщение 10.06.2009, 13:14

Aizek писал(а):см. выше
попробуй и отпишись. по идее все остальное остается таким же и должно работать на ура
хз, у меня вобще не работает, пишет что client не инитиализирован, а судя по тому на какой строке он валится, он сразу переходит к exit хоть все параметры и указанны

Aizek
Нович0к
Нович0к
Сообщения: 21
Зарегистрирован: 02.07.2008
Поблагодарили: 1 раз

#15 Сообщение 10.06.2009, 15:27

вот версия для udp

обрати внимание на коментарий перед while(...)
Последний раз редактировалось Aizek 10.06.2009, 19:06, всего редактировалось 1 раз.

Ответить Вложения 3