Задать вопрос
vla3d
@vla3d

Как перенаправить запросы прокси на localhost на Windows?

Здравствуйте. Прошу подсказать, как организовать подключение.
Есть точно такой ВОПРОС, но он про Линукс, хотел бы найти решение на Windows, т.к ещё меньше в нём разбираюсь.

Есть локальный сервер на ПК, который запускается на 127.0.0.1 : №_порта, вроде как практика распространённая. Внешний адрес этого ПК 192.168.1.3. Этот адрес указан у "клиента" в настройках встроенного прокси (Win), на самом ПК настроил 3proxy

Моя задача: направить сетевые запросы на этот порт "№порта" на localhost'е, далее они будут обработаны сервером
Сейчас в роли сервера скрипт на питоне, listen server, запускается на адресе "127.0.0.1 : №_порта"
Скрипт сервера
import socket
import time

linecount = 0
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("127.0.0.1", 11111))
sock.listen()
while True:
    conn, addr = sock.accept()    
    s = str(linecount).zfill(12)
    print(s + "  " + str(conn.recv(1024)) + "\r\n")
    linecount = linecount + 1



Клиенты присоединяются к ПК как к прокси, для этого настроил 3proxy на ПК (3proxy.cfg):

а) в этом случае у "клиента" страничка браузера грузится как обычно, но сервер не видит НИКАКИХ запросов, в Wireshark тоже не видна передача от внешнего адреса к "localhost : №_порта", запросы каким-то образом в обход настроек проходят наружу сразу, не на localhost
auth none 
log
proxy -p11111 -i192.168.1.3 -p11111 -e0.0.0.0


б) в этом случае у "клиента" страница в браузере не грузится, сервер так же не видит никакие запросы
auth none 
log
proxy -p11111 -i192.168.1.3 -p11111 -e127.0.0.1


Сейчас не могу понять:

1) Либо я неправильно понимаю, как работает прокси в целом? Прокси сервер должен сделать запрос от своего имени, как будто это он делает запрос, но во-первых, в Wireshark не появляются пакеты, направляющиеся в localhost, во-вторых, ничего не принимается сервером, значит - не работает?
Нет отправки на localhost
67c4d5a9b838b879449714.png

2) Либо неправильно настроен 3proxy?

3) Возможно, я пытаюсь использовать неподходящюю программу 3proxy? Она не может перенаправлять запросы на localhost?

Неужели под Windows придётся писать свои парсеры прокси??? Задача в целом вроде бы была простая
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Правильней и логичней запускать WEB-сервис на IP-адресе 192.168.1.3, а не заниматься откровенным садо-мазо с 127.0.0.1, он предназначен совсем не для этого. Но если хочется, прямо вот невыносимо хочется работать только с 127.0.0.1 - тогда запустите на "сервере" 192.168.1.3 службу 3proxy, и настройте заставьте клиенты неестественно проксировать запросы к 127.0.0.1 через этот "серверный" 3proxy, вот так криво но будет работать.

P.S. Возможен ещё вариант "reverse proxy on 127.0.0.1:80" на каждом ПК-клиенте, но это уже совсем за гранью добра и зла. Про DNAT под Windows даже и думать не стоит!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы