Formulez des requêtes udp en hexadécimal.
Voila j'aimerais créer un petit bot pour un serveur counter-strike.
Je me suis renseigné sur les protocoles , et par exemple pour faire une requête PING du serveur il fait envoyer ce message :
[FF][FF][FF][FF]ping
( * 4 octets de valeur 255 ou encore FF.
* Le nom de la requête en minuscules et en ASCII. )
Voici mon programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
use IO::Socket::INET;
$sock = IO::Socket::INET->new(PeerAddr => '213.251.145.246',
PeerPort => '27017',
Proto => 'udp') or die "Impossible de se connecter\n";
print $sock "0xff\0xff\0xff\0xffping";
$input = unpack("C6",$sock);
print "$input\n";
print "$sock\n"; |
Et voici la valeur retournée à chaque fois :
73
IO::Socket::INET=GLOB(0x19672bc)
Le serveur doit répondre en principe ce message :
FF FF FF FF 6A 00 255 255 255 255 106 000 ÿÿÿÿj.
Il y a donc un problème vu que lorsque je met la commande "details" a la place de "ping" , j'obtient la même réponse.
Ma requête est elle mal formulée ?