ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

-= Perl+ПодделываниеПакетов+tcp =-
  #1  
Старый 24.09.2008, 12:48
Аватар для KENNY_McCORMICK
KENNY_McCORMICK
Познающий
Регистрация: 09.11.2007
Сообщений: 33
Провел на форуме:
73891

Репутация: 6
Question -= Perl+ПодделываниеПакетов+tcp =-

Возникли трудности при подделывание пакета )
need HELP

Дано:
Есть программа garena.exe которая использует TCP/IP коннект к серверу
Задача:
Написать свой клиент для этого сервера
Решение:
1) я сосниффил пакеты, которые програма отправляет серверу и получает от него... вот часть:

*.exe отправляет серверу:
Код:
00000000  01 00 00 00 6A                                     ....j
Ответ сервера:
Код:
00000000  06 00 00 00 6A C5 20 40  40 01                     ....j. @ @.
2) я написал маленькую программку на PERL'e
Код:
#!/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);
Пакет отправляется, но ответа НЕТ(
Сниффер так же ответа не увидел...
в чём трабл?
 
Ответить с цитированием

  #2  
Старый 24.09.2008, 13:47
Аватар для Digimortal
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

Там цикл while не нужен, ты посылаешь пакет в хэндл 'SOCK', а читаешь из 'SOCKET' (use warnings!), читать надо 10 байт, а не 1514. Кстати, заместо Socket удобней использовать IO::Socket::INET.
 
Ответить с цитированием

  #3  
Старый 24.09.2008, 13:58
Аватар для svesve
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

Tc а что планируешь написать? =)
 
Ответить с цитированием

  #4  
Старый 24.09.2008, 14:01
Аватар для KENNY_McCORMICK
KENNY_McCORMICK
Познающий
Регистрация: 09.11.2007
Сообщений: 33
Провел на форуме:
73891

Репутация: 6
По умолчанию

дык Я читаю сниффером... while вообще убрал!
ответа всё равно нет!

Разницы же нет, что use socket, что use IO::Socket::INET.... ответа тутю(

Почему сервак не отвечает на мой пакет?
 
Ответить с цитированием

  #5  
Старый 24.09.2008, 14:05
Аватар для KENNY_McCORMICK
KENNY_McCORMICK
Познающий
Регистрация: 09.11.2007
Сообщений: 33
Провел на форуме:
73891

Репутация: 6
По умолчанию

Цитата:
Сообщение от svesve  
Tc а что планируешь написать? =)
garena.com и его клиент GGC(garena)
GGC = софтинка для игры в wc3, CS, StarCraft...
При ping ~ 0
Хочу написать свой клиент вместо garena.exe , чтоб использовать его в целях Liga_BOT, Room Moderator.
 
Ответить с цитированием

  #6  
Старый 24.09.2008, 14:29
Аватар для Digimortal
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

>> Почему сервак не отвечает на мой пакет?

А пакет, передаваемый скриптом полностью аналогичен тому, что передает клиент?

Кстати говоря:
>> отправляет серверу и получает от него... вот часть

Надеюсь, это самая начальная часть лога? )

p.s. А еще:

$packet = pack ("H*", '010000006A'); #Формируем пакет без пробелов!

Последний раз редактировалось Digimortal; 24.09.2008 в 14:43..
 
Ответить с цитированием

  #7  
Старый 24.09.2008, 14:38
Аватар для KENNY_McCORMICK
KENNY_McCORMICK
Познающий
Регистрация: 09.11.2007
Сообщений: 33
Провел на форуме:
73891

Репутация: 6
По умолчанию

1) Да

2) Да самое начало
 
Ответить с цитированием

  #8  
Старый 24.09.2008, 14:50
Аватар для KENNY_McCORMICK
KENNY_McCORMICK
Познающий
Регистрация: 09.11.2007
Сообщений: 33
Провел на форуме:
73891

Репутация: 6
По умолчанию

Цитата:
Сообщение от Digimortal  
p.s. А еще:

$packet = pack ("H*", '010000006A'); #Формируем пакет без пробелов!
ААААААААА!! СПАСИБО!
РЕСПЕКТ!
ДВА дня мучался! оказалось это из-за пробелов!!!
ЛОВИ +
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BookS: PHP, PERL, MySQL, JavaScript, HTML, ajax, Веб Дизайн M1nK0 PHP, PERL, MySQL, JavaScript 10 27.06.2009 21:35
Trojan Ports BYD Защита ОС: вирусы, антивирусы, файрволы. 6 19.09.2008 14:26
что это за байда? individ Болталка 8 15.08.2008 12:24
Знаю Ip и открытый порт. Что можно сделать? MoB_DP Болталка 19 22.07.2008 16:13
[ Обзор уязвимостей CFM(Cold-Fusion) ] Ded MustD!e Сценарии/CMF/СMS 4 27.05.2008 16:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ