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

cs server monitoring
  #1  
Старый 09.01.2009, 01:29
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию 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..
 
Ответить с цитированием

  #2  
Старый 09.01.2009, 01:38
Аватар для geforse
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
Провел на форуме:
5365841

Репутация: 712


Отправить сообщение для geforse с помощью ICQ
По умолчанию

Полезная весч ... но можно и этим например
 
Ответить с цитированием

  #3  
Старый 09.01.2009, 01:58
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

а на gametracker.com ти где сорси увидел?)))
плюс мои на perl (что гарантирует бистроту рототи) =P
 
Ответить с цитированием

  #4  
Старый 09.01.2009, 02:03
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от eLWAux  
а на gametracker.com ти где сорси увидел?)))
плюс мои на perl (что гарантирует бистроту рототи) =P
В сорцах столько же ошибок? (Стеб)
А если серьезно,то много аналогов на php,yj на perl я не видел,воткну на сайт,потестирую.Спсибо.
 
Ответить с цитированием

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

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию


Как я понимаю он определяет количесво мест на сервере ?,там 20мест...
__________________
Blog

Последний раз редактировалось rushter; 09.01.2009 в 02:13..
 
Ответить с цитированием

  #6  
Старый 09.01.2009, 02:17
Аватар для Jer1cho
Jer1cho
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме:
3942177

Репутация: 244
Отправить сообщение для Jer1cho с помощью ICQ
По умолчанию

Странный пакет он отправляет на запрос инфы сервера, давно снифил отправлял такое:

\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";
 
Ответить с цитированием

  #7  
Старый 09.01.2009, 13:51
Аватар для oRb
oRb
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($fp2);
if(
$fp)
{
    
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00\r");
    
$temp fread($fp5);
    
$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);
?>
 
Ответить с цитированием

  #8  
Старый 09.01.2009, 14:39
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

Цитата:
Сообщение от oRb  
Думаю ТС разберется и у себя подправит на перле.
oRb, спасибо, ТС розобрался), и щас себе подправит скрипт..
 
Ответить с цитированием

  #9  
Старый 09.01.2009, 16:02
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

UP

[i] обновил скрипт
[+] добавил проверку на LAC защиту
 
Ответить с цитированием

  #10  
Старый 09.01.2009, 21:14
Аватар для MaTpOc
MaTpOc
Познавший АНТИЧАТ
Регистрация: 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)
 


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




ANTICHAT.XYZ