Создание TCP-прокси в python - PullRequest
0 голосов
/ 12 июля 2020

Я пытался создать TCP-прокси (что может быть неправильным. Я не очень много знаю об этом), который позволяет мне перехватывать привязанный к серверу и клиентский tcp-трафик c. Настройка проста:

Server: 127.0.0.1:25565 <---> Client: <my-ip>:50309

Я хочу разместить прокси прямо посередине, чтобы я мог перехватывать трафик c. Позже я хотел бы иметь возможность редактировать пакеты, а затем продолжать их отправлять. Я предполагаю, что это можно описать как атаку «человек посередине», но на самом деле она ни на что не нападает. Похоже, что это сделали многие люди, и я пробовал их сценарии с разной степенью успеха. Первый, который я попробовал, был: Создайте TCP-прокси в Python. Я установил local_addr на свой ip, а local_port на 50309. Я также пробовал это с localhost и 25565. Оба раза я получал ошибку:

[WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

(у меня был отключен брандмауэр, работал от имени администратора и разрешал приложениям через брандмауэр) Я попробовал этот с немного большим успехом. Это был мой IP-адрес, а порт - 50309. На этот раз подключение прошло без ошибок, но, к сожалению, данные не были распечатаны. Попытка сделать это наоборот (ip = localhost, port = 25565) просто выдала ошибку. Я также пробовал Программирование сокетов HOWTO . На этот раз, если я установлю ip и порт, как я сделал выше, я получу:

[WinError 10061] No connection could be made because the target machine actively refused it

но , если я установлю ip как localhost и port на 25565, он подключается без ошибок но, как и раньше, я не печатаю никаких данных.

На самом деле я не очень много этим занимаюсь, поэтому мне, вероятно, не хватает чего-то очевидного, но в любом случае, как я могу этого добиться?

...