Возникли трудности при подделывание пакета ) need HELP Дано: Есть программа garena.exe которая использует TCP/IP коннект к серверу Задача: Написать свой клиент для этого сервера Решение: 1) я сосниффил пакеты, которые програма отправляет серверу и получает от него... вот часть: *.exe отправляет серверу: Code: 00000000 01 00 00 00 6A ....j Ответ сервера: Code: 00000000 06 00 00 00 6A C5 20 40 40 01 ....j. @ @. 2) я написал маленькую программку на PERL'e Code: #!/usr/bin/perl use Socket; $host="us4.auth.garena.com"; #tipa host $port="7456"; #port $packet = pack ("H*", '01 00 00 00 6A'); #Формируем пакет socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')); $iaddr = inet_aton($host); # Получаем IP (67.228.162.187) #$iaddr = 67.228.162.187; # это если знаем IP $paddr = sockaddr_in($port, $iaddr); connect(SOCK, $paddr); send (SOCK, $packet, 0); #отправляем пакет while (){ recv (SOCKET, $buf, 1514, 0); #считываем пакет print unpack ("H*", $buf), "\n\n"; #вывод в hex } close(SOCK); Пакет отправляется, но ответа НЕТ( Сниффер так же ответа не увидел... в чём трабл?
Там цикл while не нужен, ты посылаешь пакет в хэндл 'SOCK', а читаешь из 'SOCKET' (use warnings!), читать надо 10 байт, а не 1514. Кстати, заместо Socket удобней использовать IO::Socket::INET.
дык Я читаю сниффером... while вообще убрал! ответа всё равно нет! Разницы же нет, что use socket, что use IO::Socket::INET.... ответа тутю( Почему сервак не отвечает на мой пакет?
garena.com и его клиент GGC(garena) GGC = софтинка для игры в wc3, CS, StarCraft... При ping ~ 0 Хочу написать свой клиент вместо garena.exe , чтоб использовать его в целях Liga_BOT, Room Moderator.
>> Почему сервак не отвечает на мой пакет? А пакет, передаваемый скриптом полностью аналогичен тому, что передает клиент? Кстати говоря: >> отправляет серверу и получает от него... вот часть Надеюсь, это самая начальная часть лога? ) p.s. А еще: $packet = pack ("H*", '010000006A'); #Формируем пакет без пробелов!