@tostpypy
Держу игровые проекты

Как передать реальный ip подключаемого клиента к python proxy?

Доброго времени суток. В python я новичок, недавно дошел до сокетов, возникла необходимость написания прокси-приложения, которое проксировало бы любой трафик.
Итак, есть прокси-приложение, которое слушает определенный порт, оно должно передавать информацию (трафик) до заданной цели, на его IP и порт.

Небольшой кусок кода сервера:
HOST, PORT = "", 9091

server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
SocketServer.ThreadingTCPServer.allow_reuse_address = True
ip, port = server.server_address
server_thread = threading.Thread(target=server.serve_forever)
server_thread.daemon = True
server_thread.start()

Вот идет форвардинг:
class Forwarder(threading.Thread):
def __init__(self, source):
threading.Thread.__init__(self)
self.source = source
self.dest = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.dest.connect(("айпи цели", 20000))

Все работает, но, конечно, до источника доходят данные содержащие ip сервера прокси-приложения, а не реальных клиентов.

Вопрос в том, куда копать, что использовать, чтобы передать айпи подключаемых к прокси клиентов.
  • Вопрос задан
  • 754 просмотра
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Ищите на предмет добавления и обработки заголовка x-forwarded-for
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы