Здравствуйте. Прошу подсказать, как организовать подключение.
Есть точно такой
ВОПРОС, но он про Линукс, хотел бы найти решение на 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
2) Либо неправильно настроен 3proxy?
3) Возможно, я пытаюсь использовать неподходящюю программу 3proxy? Она не может перенаправлять запросы на localhost?
Неужели под Windows придётся писать свои парсеры прокси??? Задача в целом вроде бы была простая