Лучший способ жить редактировать пакеты с другого компьютера
Я хотел бы изучить некоторые протоколы MMORPG (я программист игры), но все они используют "программное обеспечение для взлома", которое не позволяет мне многое делать с компьютера, на котором они работают.
Я хочу знать, как я могу установить соединение моего компьютера через другой компьютер в моей локальной сети, чтобы я мог редактировать пакеты. Я думал о том, что ARP отравляет мою машину, но я не знаю, могу ли я на самом деле редактировать пакеты, поступающие от ARP-атаки.
Судя по тому, что я могу сказать, используя Wireshark, моя операционная система (Windows XP) перенаправляет пакеты в мой шлюз и обратно, поэтому я не знаю, существует ли способ их редактирования в реальном времени (если кто-нибудь знает, можно ли это сделать). сделано с использованием Windows Filtering Platform, я был бы рад узнать).
Другой возможностью было бы вручную установить другой компьютер в качестве шлюза первого, но затем я не знаю, как заставить его фактически действовать как "шлюз" (т. Е. Направлять пакеты на реальный шлюз).
Кто-нибудь может мне здесь помочь? Извините, я уверен, что все это выглядит как новичок. Это потому, что сетевое взаимодействие не входит в мою "область знаний".
Спасибо.
3 ответа
Вы можете легко настроить общий доступ к интернет-соединению на этом втором компьютере, если у него есть свободный порт Ethernet. Затем он будет действовать как ворота для вашего первого.
Что ж, я думаю, что создание "живых" модификаций пакетов не является большой проблемой, но я думаю, что большинство или даже все игры будут шифровать свой трафик в той или иной форме, что значительно усложняет манипулирование данными. Это оставляет самую большую проблему: Условия обслуживания явно запрещают то, что вы хотите сделать, и вы можете быть уверены, что в BLizzard and Co. есть большие команды, которые ищут таких людей, как вы, которые сначала приостановят вашу учетную запись, а затем зададут вопросы, если вообще, если они обнаружат что-то подозрительное.
SvenW уже поднял юридический отказ от ответственности, поэтому я дам вам преимущество сомнения и предположу, что вы должным образом обдумали это. Я не рекомендую делать следующее на реальном коммерческом игровом сервере.
Решение A - В основном прозрачный прокси
- Написать легкий прокси-сервер TCP в python/perl/ что угодно. Начните с максимально возможной прозрачности, но, возможно, используйте простую регистрацию, чтобы вы могли видеть, что происходит.
- Протестируйте его с помощью других простых протоколов, таких как Telnet или HTTP.
- Обманите своего игрового клиента подключением к прокси-серверу вместо реальных игровых серверов, перехватив DNS игрового сервера в файле hosts на вашем клиентском компьютере.
- Если игра работает, значит, вы успешно создали сценарий "человек посередине".
- Медленно добавьте код и логику на прокси-сервер, чтобы манипулировать данными при их прохождении. Опять же, протестируйте простые протоколы, прежде чем пытаться использовать протокол игры.
Это решение довольно просто настроить, но также вполне вероятно, что игровой клиент попытается обнаружить этот сценарий. Не зная точно, как он пытается его обнаружить, вы можете легко забаниться, прежде чем доберетесь до очень далеко.
Решение B - Очень прозрачный прокси
Подобный выше, но немного более сложный.
Вместо того, чтобы использовать файл hosts на клиентском компьютере, создайте шлюз (используя два порта Ethernet). Я бы использовал *BSD, чтобы я мог использовать PF для прозрачного перенаправления определенных типов пакетов на мой прокси-сервер. Это дает преимущество, заключающееся в том, что на компьютере, на котором запущен игровой клиент, не требуется никакой необычной конфигурации, и, таким образом, клиенту практически невозможно определить, что существует сценарий "человек посередине".