инжект не стал делать - т.к. работает далеко не на всех серваках.
многие палят инжект. самый универсальный способ это заворачивание трафика через виртуальную машину, с последующим пробросом на реальный сервер.
играю на вин7
прописан маршрут для гейм сервера через виртуальную машину:
route -p add 195.58.1.0 mask 255.255.255.0 192.168.10.1
192.168.10.1 - это адрес файрволла в виртуальной сети
в качестве виртуалки использую FreeBSD 8.3 с выделенными ей 64 мегабайтами памяти. винда жрет намного больше даже для тупого форварда пакетов.
конфиг файрволла pf для заворота трафика
ext_if=em0
int_if=em1
int_net="192.168.10.0/24"
ext_net="192.168.1.0/24"
ph_host="192.168.1.20"
ph_port="7888"
gs_host="195.58.1.117"
gs_port="7777"
rdr on $int_if proto tcp to 195.58.1.117 port 7777 tag GS_FAKE -> $ph_host port $ph_port
nat on $ext_if proto tcp tagged GS_FAKE -> $ext_if
rdr on $int_if proto tcp to 195.58.1.100 port 7777 tag GS_TRUE -> $gs_host port $gs_port
nat on $ext_if proto tcp tagged GS_TRUE -> $ext_if
nat pass on $ext_if from $int_net to 195.58.1.0/24 -> $ext_if
1. л2 коннектится на 195.58.1.117 файрволл заворачивает на адрес ph_host (192.168.1.20) порт 7888, на котором слушает пх
2. пх инициализирует свой коннект на адрес 195.58.1.100 (можно использовать любой другой, нужно чтобы файрволл понял что пх коннектица к реальному гейм серверу)
3. файрволл редиректит коннект уже не реальный гейм сервер
данная схема будет работать на 100% серверов. т.к. идет непосредственный перехват коннекта который ни клиент ни сервер отследить не в состоянии. проблемы могут возникнуть только с серверами на которых есть свое шифрование трафика.
пх можно запустить где угодно. мне удобнее все запускать в реальной ОС, не в виртуалке. просто по альт табу переключаюсь между окнами л2, пх и делфи чтобы дописывать логику поведения.
Последний раз редактировалось arksu, 24.06.2012 в 00:02.
|