What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

reverse proxy idea

OldFont

Light Weight
Депозит
$0
привет
кто подскажет как можно проще всего реализовать reverse proxy через пользователя который за NAT (нужно самое простое, эффективное и быстрое решение)

есть c2 и оператор, оператор отправляет некий трафик на c2, юзер в свою очередь уже инициировал подключение с c2 (пусть tcp туннель) и простаивает, приходит запрос от c2 и юзер начинает че то делать (отправляет этот трафик пускай на test.com), в итоге юзер отсылает этот запрос на сайт получает ответ от сайта, ответ направляет его на c2, c2 шлет его оператору и в итоге мы имеем прокси через пользователя за NAT (расшифровки условного https на c2 не нужно, это не mitm а прост реверс прокси)

(язык бекенда c2 неважен кроме c / c++ ибо трудно)

помогите все разжевать и объяснить с самого начала со всеми подробностями, код не надо
хочу понять как это будет работать от начала и до конца, также хотелось бы проксировать весь вебтрафик (http/s, websocket) для начала, уже потом можно задуматься о других протоколах более низких

кому времени не жаль дайте общие и точечные советы как это все реализовать и как это будет работать, я всегда всё разжевываю и повторяю 10 раз ибо я туп как дуб так что чем подробнее тем проще мне будет понять
 
Ну в общем плане это будет работать примерно так:
1. Юзер подключается в c2 серверу (ip 2.2.2.2)
2. C2 сервер подымает на каком-нибудь порту сокс5-прокси-сервер (например 2.2.2.2:55555)
3. C2 запоминает что подключению юзера соответствует поднятый сокс на порту 55555
4. Оператор подключается к прокси 2.2.2.2:55555, с2 пересылает это юзеру, юзер подключается к требуемому серверу и начинают гонять трафик туда-сюда.

Нужно иметь ввиду, что подключение юзер<->с2 будет одно, а подключений оператор<->прокси_с2 могут быть множественными (например оператор засунул эту проксю в браузер и пошел серфить интернеты), поэтому в протоколе общения между юзером и с2 нужно будет реализовать что-то типа каналов. То есть с2 должен маркировать пакеты, какому подключению к прокси они соответсвуют, а юзер пересылать ответные пакеты с этим же маркером. Дальше эти пакеты пересылаются в сокс оператору
 
Top