![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.03.2011
Сообщений: 96
|
![]()
Имеем:
Сервер-программа, слушающая 13001 порт Клиент-программа, вещающая инфу в 13001 порт Нужно: Необходимо сделать 2 программы. Одна будет стоять на машине с сервером, перехватывать всё с 13001 порта и пересылать на 13002 порт. Другая будет стоять на клиенте и все запросы которые будут уходить на 13001, брать и переправлять на 13002. По сути это 2 маханьких фаервола. Ничего заумного, просто взять и переложить пакеты с одного порта на другой. Вопрос: Кто-нибудь такое уже реализовывал? Есть примеры? Или идеи, как такое сделать? |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 395
|
![]() Цитата:
Пример для клиент программы: Создаем программу которая будет патчить память client.exe, что именно патчить: функцию wsasendto (это winapi функция (если же данные передаются через wsasend -> то патчить надо будет функцию connect)) которая передает эти данные.(что представляет из себя патч: изменение порта сервера из аргументов функции wsasendto (причем изменение аргумента в самом начале функции wsasendto)) Что-то подобное реализовано тут: wasm.ru/article.php?article=apihook_1 (раздел "Внедрение кода и создание удаленных потоков") |
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
перехват функции не есть единственный выход.
можно написать драйвер режима ядра, а там приатачится к нужному стеку дров. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> Или идеи, как такое сделать?
raw сокеты, если прав хватит
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 12.03.2011
Сообщений: 96
|
![]()
Хм ... думал может проще получилось бы сделать. Жалко что нет "чудо компонента", который бы это всё упростил
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
TidMappedPortTCP, но только если все в своем приложении/
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как создать TCP клиент, TCP сервер ? | DreamMaster911 | C/C++ Сетевое программирование | 1 | 26.10.2010 15:05 |
выбор TCP/IP порта | Артэс | C/C++ Сетевое программирование | 2 | 07.10.2010 10:18 |
перехват TCP и UDP пакетов | prog.delphin | Работа с сетью в Delphi | 4 | 31.03.2010 13:21 |
"2540:TCP"= 2540:TCP:oeiuq | AlexSh | Безопасность, Шифрование | 0 | 06.07.2009 10:28 |
Как получить данные с COM-порта или другого любого порта? | DeLure | Общие вопросы C/C++ | 5 | 20.09.2007 00:50 |