begin process at 2010 02 10 12:46:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > BOT IRC + SCAN DE PARTIES COUNTER-STRIKE EN UDP

BOT IRC + SCAN DE PARTIES COUNTER-STRIKE EN UDP


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :9 641 / 672

Auteur : Toadstool

Ecrire un message privé
Site perso
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é...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

21 octobre 2004 17:05:53 :
21 octobre 2004 17:07:07 :

 Sources du même auteur

Source avec Zip INTERACTION C/LUA
Source avec Zip BOT IRC C++/PYTHON SOUS LINUX
Source avec Zip SCANNER DE PARTIES COUNTERSTRIKE SUR UN RÉSEAU LOCAL

 Sources de la même categorie

Source avec Zip TIM_RESEAU, CLASSES POUR RESEAU COMPLET par williamallas
Source avec Zip INTERNET IP FINDER TROUVER VOS ADRESSE IP (INTERNET) par xmustapha
Source avec Zip CLIENT/SERVEUR AVEC TSOCKETSERVER & TCLIENTSOCKET par xmustapha
Source avec Zip REMOTE SHELL GEN par ganjarasta
PROXY IRC SIMPLE (WINDOWS/WINSOCK) par _michel

Commentaires et avis

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 :)

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.

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

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...

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...

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)

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 ++

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 ?

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)

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

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

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




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales