begin process at 2008 05 16 06:34:48
1 173 219 membres
61 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

BOT IRC + SCAN DE PARTIES COUNTER-STRIKE EN UDP


Information sur la source

Catégorie :Réseaux & Internet Niveau : Initié Date de création : 21/10/2004 Date de mise à jour : 21/10/2004 17:07:07 Vu / téléchargé: 7 578 / 616

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

Description

Petit bot IRC tout basique qui scanne les parties de Counter-Strike sur un réseau local et les affiche dans IRC si quelqu'un tape !parties sur le chan

Conclusion

Le programme est très basique et devra être profondément modifié avant d'être véritablement efficace mais au moins il marche :)

A modifier pour le rendre fonctionnel sur un autre réseau :
Dans le fichier bot.cpp :
- L'adresse du serveur IRC
- Le nom du chan auquel doit se connecter le bot
- Le nick du bot
- La liste des admins

Dans le fichier scan.cpp :
- Les ips a scanner ie l'ip de base + l'intervalle d'ips

Pour compiler il faut linker avec la lib winsock2

Remarque :
Le scanner de parties utilise une methode quelque peu bourrine, il semblerait qu en fait les serveurs Half-Life broadcastent (255.255.255.255) leur ip pour que les clients sachent les serveurs dispo. Je suis en train d étudier cette possibilité...
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

21 octobre 2004 17:05:53 :
21 octobre 2004 17:07:07 :
  • signaler à un administrateur
    Commentaire de Toadstool le 09/11/2004 22:57:03

    En fait grâce a ethereal j ai trouvé que ce sont les clients half-life qui broadcastent un paquet "\037\037\037\037infostring\0" (adresse ip 255.255.255.255) sur la plage de ports UDP 27015 - 27024.

    Ainsi pour éviter d envoyer un ping a chaque ip possible du réseau, il suffit de faire de même et de récupérer grâce à une librairie comme pcap les paquets UDP renvoyés...

    Je suis en train de voir comment faire :)

  • signaler à un administrateur
    Commentaire de Toadstool le 18/11/2004 01:47:27

    J ai abandonné l idée d intégrer le scanner de parties dans le bot. Celui-ci sera finalement un processus indépendant qui écrit les infos dans un fichier xml accessible à plusieurs autre applications comme le bot irc ou un serveur apache par exemple.

  • signaler à un administrateur
    Commentaire de rclsilver02 le 09/12/2004 07:10:49

    salut, pour le clan dont je fais partie je souhaiterai aussi faire un bot irc avec scan des serveurs.. mais avec steam je sais pas trop comment faire :o tu as des nouvelles infos ? peut etre un site?  tu veux dire quoi par "En fait grâce a ethereal j ai trouvé que ce sont les clients half-life qui broadcastent un paquet "\037\037\037\037infostring\0" (adresse ip 255.255.255.255) sur la plage de ports UDP 27015 - 27024." ? je comprends pas trop :) si tu as qq minutes tu voudrais bien m'expliquer stp ?

    Merci d'avance ... Rclsilver

  • signaler à un administrateur
    Commentaire de Toadstool le 09/12/2004 12:32:49

    Alors vu que tu parles de steam je suppose que ton bot c'est pour CS:Source que tu veux le faire ? Si c'est le cas je peux pas trop te renseigner : j'ai pas encore récupéré le SDK pour HL2 (steam c'est mal :D ).

    Sinon, pour ce qui est de ljhistoire du broadcast en fait les clients half-life (ie le jeu quand tu veux te connecter à un serveur) demandent lorsque tu es sur la page Parties Reseau Local à tous les serveurs de renvoyer des infos :
    Pour cela, comme au départ il connait pas l'ip des serveurs allumés, le client envoit la demande d'info "\037\037\037\037infostring\0" à l'adresse 255.255.255.255 qui, pour simplifier, permet en fait d'envoyer à tout le  monde (broadcast).

    Les serveurs CS fonctionnent sur les ports UDP 27015 à 27024 donc on broadcaste pour chaque port de façon à ne rater aucun serveur.

    Ca évite d'envoyer à chaque ip sur chaque port la requête d'info et ainsi de ne pas surcharger le réseau...

    Heu j'espère que j'ai été clair (c'est pas gagné...). Si t'as d'autres questions n'hésite pas...

  • signaler à un administrateur
    Commentaire de Toadstool le 09/12/2004 12:35:23

    Ah oui si t'es motivé tu peux essayer de lire l'implémentation de ce que je raconte. C'est dans l'autre source que j'ai posté "Scan de parties Counter-Strike" ou quelquechose comme ça...

  • signaler à un administrateur
    Commentaire de rclsilver02 le 09/12/2004 17:16:39

    alors, pour moi c'est bien CS 1.6 pas CS source... pour le brodcast, je pense avoir saisi ce que tu voulais dire... mais quand j'essaie de ping 255.255.255.255 ça reponds pas c'est normal ? sinon tu n'aurais pas une doc du protocole (rfc sdk ou autre ? ) merci d'avance, sinon ben pour la motivation c'est surtout pour occuper le temps :o et pis bon pour motiver des gens a venir sur irc pck bon :o


    +++ :o)

  • signaler à un administrateur
    Commentaire de Toadstool le 09/12/2004 17:42:01

    Alors l'ip 255.255.255.255 ne correspond pas à une machine donc c'est normal que le ping ne marche pas. C'est juste une adresse permettant d'envoyer des données à toutes les machines d'un coup si tu veux.

    Sinon pour le protocole y a tout ce qui faut dans la source c'est exactement ce qu'il y a dans le sdk d'hl à propos des dialogues avec le serveur.

    Voila ++

  • signaler à un administrateur
    Commentaire de rclsilver02 le 09/12/2004 20:14:09

    ah d'accord, mais quand tu dis toutes les machines, c'est toutes les machines qui ont un serveur hl ? ou toutes les machines connectées au net ?

  • signaler à un administrateur
    Commentaire de Toadstool le 09/12/2004 20:23:46

    toutes toutes toutes c'est du super broadcast ça sinon si c'était que sur un reseau local ce serait une adresse du style 172.16.0.255 avec laquelle tu broadcaste que sur les machines en 172.16.*.* (c'est des ips privées)

  • signaler à un administrateur
    Commentaire de rclsilver02 le 09/12/2004 20:55:33

    oki, donc j'ai fait mes testes avec VB... j'envoie Chr(255) & Chr(255) & Chr(255) & Chr(255) & "infostring" & Chr(0) sur 255.255.255.255 sur le port 27019 par exemple, et je reçois rien c'est normal ? je suis en UDP pourtant :o

  • signaler à un administrateur
    Commentaire de rclsilver02 le 13/12/2004 06:48:28

    apparement, le broadcast c'est only LAN... donc en fait, d'apres qq potes, le scaner de steam se connecterait à un master server, et c'est lui qui donnerait la liste des serveurs avec qq infos... donc je vais essayer de voir dans cette direction :o) je tiens au courrant

  • signaler à un administrateur
    Commentaire de Kdecherf le 28/03/2007 15:09:36

    Je confirme que pour les serveurs Internet tout se fait depuis un serveur maître. Les connaisseurs Valve sous Linux pourront vous le confirmer (logs information sur les requêtes vers le serveur maître).

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS