Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.01.2009, 01:29
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
cs server monitoring
мониторинг КС сервера
version 0.2
language: perl
$host = хост
$port = порт
[+] добавил: проверка на LAC защиту
perl source:
PHP код:
use IO::Socket;
system('cls');
##########################################################################
#####] (c)oDeD 6y eLWAux [################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
sub parce_info_2 {
my $x = $_[0];
$x =~ /\xFF\xFF\xFF\xFF\x6D(.*)/;
$x = $1;
my @l=split(/\x00/,$x);
print ' Server Address = '.@l[0]."\n";
print ' Host Name = '.$l[1]."\n";
print ' Map Name = '.$l[2]."\n";
print ' Game Directory = '.$l[3]."\n";
print ' Game Description = '.$l[4]."\n";
print ' Player Count = '.hex(unpack('H2',substr($l[5],0,1)))."\n";
print ' Max Players = '.hex(unpack('H2',substr($l[5],1,1)))."\n";
print ' Protocol Version = '.hex(unpack('H2',substr($l[5],2,1)))."\n";
print ' Server Type = '.substr($l[5],3,1)."\n";
print ' Server OS = '.substr($l[5],4,1)."\n";
print ' Modded = '.hex(unpack('H2',substr($l[6],0,1)))."\n";
print ' Mod Website = '.substr($l[6],1,length($l[6]))."\n";
}
##########################################################################
##########################################################################
##########################################################################
while (1==1){
system('cls');
print "\n";
print " ==-=-=-=-=-=-=-==-=-==-=-==-=-= \n";
$host = 'game.arbital.ru';
$port = '27018';
print ' = '.$host.':'.$port." = \n";
#=-====-==-=-
#= CONNECT =-
#=-=-==-===-=-=======-==-=-=-=-=--=-=
my $sock = new IO::Socket::INET(
PeerAddr=>$host,
PeerPort=>$port,
Proto=>'udp') || die "[-] No Server!";
$cmd="\xFF\xFF\xFF\xFFTSource Engine Query\x00";
syswrite $sock, $cmd;
sysread $sock,$x,65535;
parce_info_2($x);
#=-===-=-
#= LAC =-
#=-=-==-===-=-=======-==-=-=-=-=--=-=
$cmd="\x66\x66\x66\x66\x66\x66\x66\x66\xFF";
syswrite $sock, $cmd;
sysread $sock,$x,65535;
if ($x =~/true/) {
print " [+] LAC protected!\n";
}
#=-====-==
#= PING =-
#=-=-==-===-=-=======-==-=-=-=-=--=-=
$cmd="\xFF\xFF\xFF\xFF"."ping\x00";
syswrite $sock, $cmd;
sysread $sock,$x,65535;
$x =~ /\xFF\xFF\xFF\xFF(.*)\x00/;
$ping = hex(unpack('H2',$1));
print ' Ping = '.$ping."\n";
#=-====-==-=-
#= CONNECT =-
#=-=-==-===-=-=======-==-=-=-=-=--=-=
$cmd="\xFF\xFF\xFF\xFF"."getchallenge\x00";
syswrite $sock, $cmd;
sysread $sock,$x,65535;
if ($x =~ /SERVERISFULL/) {
print "[-] Server is full!\n";
exit;
}
elsif ($x =~ /BADPASSWORD/) {
print "[-] Bad password!\n";
exit;
}
#=-====-===-==-=
#= GET COOKIE =-
#=-=-==-===-=-=======-==-=-=-=-=--=-=
$x=~/A00000000 (\d{10})\x20/;
$Cookie = $1;
print ' ==-=-= You Can Connect! =-===-='."\n";
print ' Cookie = '.$Cookie."\n";
close $sock;
print " ==-=-=-=-=-=-=-==-=-==-=-==-=-= \n";
sleep(5);
}
##########################################################################
##########################################################################
##########################################################################
Последний раз редактировалось eLWAux; 09.01.2009 в 16:01..
|
|
|

09.01.2009, 01:38
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
Провел на форуме: 5365841
Репутация:
712
|
|
Полезная весч ... но можно и этим например 
|
|
|

09.01.2009, 01:58
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
а на gametracker.com ти где сорси увидел?)))
плюс мои на perl (что гарантирует бистроту рототи) =P
|
|
|

09.01.2009, 02:03
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от eLWAux
а на gametracker.com ти где сорси увидел?)))
плюс мои на perl (что гарантирует бистроту рототи) =P
В сорцах столько же ошибок?  (Стеб)
А если серьезно,то много аналогов на php,yj на perl я не видел,воткну на сайт,потестирую.Спсибо.
|
|
|

09.01.2009, 02:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|

Как я понимаю он определяет количесво мест на сервере ?,там 20мест...
Последний раз редактировалось rushter; 09.01.2009 в 02:13..
|
|
|

09.01.2009, 02:17
|
|
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме: 3942177
Репутация:
244
|
|
Странный пакет он отправляет на запрос инфы сервера, давно снифил отправлял такое:
\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x 45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00
Попробуй этим заменить $cmd="\xFF\xFF\xFF\xFF"."TSource Engine Query\x00";
|
|
|

09.01.2009, 13:51
|
|
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме: 7875940
Репутация:
2362
|
|
Сообщение от rushter

Как я понимаю он определяет количесво мест на сервере ?,там 20мест...
Скрипт под 47 протокол, в 48 другая структура.
Вот наваял на php, держит оба протокола. Думаю ТС разберется и у себя подправит на перле.
PHP код:
<?
$server['ip'] = "game.arbital.ru";$server['port'] = 27018;
//$server['ip'] = "csdm.ru";$server['port'] = 27015;
$fp = fsockopen('udp://'.$server['ip'], $server['port']);
stream_set_timeout($fp, 2);
if($fp)
{
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00\r");
$temp = fread($fp, 5);
$status = socket_get_status($fp);
if($status['unread_bytes']<1)
continue;
$temp = fread($fp, $status['unread_bytes']);
$array = array();
$pos = 0;
while($pos !== false)
{
$pos2 = strpos($temp, "\0", $pos+1);
$array[] = substr($temp, $pos+1, $pos2-$pos)."\n";
$pos = $pos2;
}
if(trim($array[2]) == 'cstrike')
{
$server['players'] = ord($array[5][0]);
$server['maxplayers'] = ord($array[5][1]);
$server['name'] = trim($array[0]);
$server['map'] = trim($array[1]);
}
else
{
$server['players'] = ord($array[5][0]);
$server['maxplayers'] = ord($array[5][1]);
$server['name'] = trim($array[1]);
$server['map'] = trim($array[2]);
}
}
print_r($server);
?>
|
|
|

09.01.2009, 14:39
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Сообщение от oRb
Думаю ТС разберется и у себя подправит на перле.
oRb, спасибо, ТС розобрался), и щас себе подправит скрипт.. 
|
|
|

09.01.2009, 16:02
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
UP
[i] обновил скрипт
[+] добавил проверку на LAC защиту
|
|
|

09.01.2009, 21:14
|
|
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме: 10311449
Репутация:
1357
|
|
А куда ложить этот скрипт чтоб он заработал а то я совсес в этом деле новичек(?
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Os - моя крепость
|
Elekt |
Избранное |
32 |
06.08.2009 15:10 |
|
Proxies
|
KPOT_f!nd |
ICQ |
2617 |
22.06.2008 13:30 |
|
отправка на Icq
|
Mefisto |
PHP, PERL, MySQL, JavaScript |
12 |
08.07.2005 11:34 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|