Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
AlexPS
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 16
1

Посредник между клиентом и сервером

07.04.2014, 17:04. Просмотров 715. Ответов 6
Метки нет (Все метки)

Передо мной встала задача реализации программы посредника между клиентом и сервером.
Суть в том чтобы подменить хосты клиента и заставить обратиться его к моей программе а уже моя программа может управлять пакетом клиента(Модифицировать его) и отсылать серверу.

Подскажите в какую сторону копать чтобы реализовать данную затею.

Добавлено через 23 часа 43 минуты
Спустя сутки понял чего хочу на самом деле)
Это всего навсего прокси сервер. Вот только порт я слушаю но как заставить перехватывать подключение клиента к серверу и подключить его к локальному хосту.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 17:04
Ответы с готовыми решениями:

Общение между сервером и клиентом
Всем доброго времени суток. Суть вопроса заключается в том, что мне нужен...

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

Обмен данными между клиентом и сервером
Здравствуйте! Есть программа, в ней же происходят нужные мне действия...

Передача картинки между клиентом и сервером
Как передать сделанный скрин? Я так понял данные надо как-то преобразовать......

Передача данных между клиентом и сервером
Имеется многопоточный сервер, как лучше реализовать передачу данных между...

6
Убежденный
Ушел с форума
Эксперт С++
16126 / 7273 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.04.2014, 21:34 2
Цитата Сообщение от AlexPS Посмотреть сообщение
Вот только порт я слушаю но как заставить перехватывать подключение клиента к серверу и подключить его к локальному хосту.
Можно такое сделать, но только не на .NET.
0
AlexPS
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 16
07.04.2014, 21:56  [ТС] 3
Просто видимо .NET это единственный раздел в котором отвечают. Я нашёл библиотеку SharpPcap но при компиляции она выдаёт ошибку.
Не удается загрузить DLL "wpcap": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)
Библиотеки вроде подключены, других версий почему это может быть у меня нет...
0
Убежденный
Ушел с форума
Эксперт С++
16126 / 7273 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.04.2014, 22:03 4
Pcap не предназначен для модификации трафика, он только для прослушки.
Кроме того, фильтровать прикладные протоколы, да и сам TCP, на уровне
IP-пакетов - идея, далекая от идеала. Потому что помимо самой фильтрации
придется возиться с идентификацией пакетов и сбором из них потока, например.
Забудьте. Если эта задача и решается как-то, то точно не средствами .NET или
пакетных фильтров. Здесь нужен самый обыкновенный редиректор + прокси.
Редиректор можно сделать хотя бы на базе перехвата WinSock-функций.
Это дешево и сердито, но для старта сгодится.

А коммерческие решения таких задач пишутся на базе всяких фильтрующих
драйверов, и дело это не одного месяца, но это так, к слову...
0
AlexPS
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 16
07.04.2014, 22:17  [ТС] 5
Простите. Какой язык тогда стоит использовать? Я человек далёкий от языков программирования, разобраться могу но знаю мало.
0
Убежденный
Ушел с форума
Эксперт С++
16126 / 7273 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.04.2014, 23:14 6
Любой неуправляемый язык подойдет (да простят меня специалисты раздела по .NET,
но эта задача и в самом деле не для данной платформы) - C, C++, Delphi...

Я Вам даже подскажу стартовую точку - освойте внедрение кода в процесс и
перехват API. После этого можно будет похукать connect (WinSock) и заменить
значения аргументов (например, IP-адрес и порт пункта назначения) на свои.

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

Не по теме:

А за что простите-то ?
:)

0
AlexPS
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 16
07.04.2014, 23:31  [ТС] 7
Спасибо большое, заменить значения аргументов на свои это именно то что нужно)

Добавлено через 10 минут
Кстати. Я вспомнил почему попал с этой темой на .NET и C# в частности.
Я видел программу перехватывающую пакеты на .NET. Сперва запускается это программ(Прокси) потом клиент. После я запустил TcpView и клиент был подключен к localhost. Т.е всё было реализовано на C#, а именно на C# потому что этот прокси сервер имел "редактор скриптов", потом компилировал их и использовал. Т.е этот прокси является своего рода оболочкой которая перехватывает пакеты а конечный пользователь может дополнить программу.
0
07.04.2014, 23:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 23:31

Настройка связи между клиентом и сервером
Пишу курсовую, тема звучит примерно "Программа для текстовых конференций", но...

Связь между сервером и клиентами
Всем привет. Работаю над приложением сервер/клиенты. И появились чисто...

Robocraftgame.com - разбор пакетов: как шифровать\дешифровать пакеты между клиентом-сервером
Всем привет! Есть замечательная игра http://robocraftgame.com/ Хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru