Name Last Update
ProtocoleTCP Loading commit data...
ProtocoleTCP_Charges Loading commit data...
ProtocoleUDP Loading commit data...
README.md Loading commit data...

README.md

Protocôles de communication

UDP

  • Port : 4242
  • Contenu du paquet :
    • Identifiant du bot : 6 octets
    • Temps de vie (nombre de secondes depuis le démarrage) 4 octets

TCP

  • Port : 4242
  • Commandes :
    • STAT : retourne le status du bot (la réponse comprend son temps de vie, le nombre de charges utiles téléversées, le nombre d'exécution de charges utiles)
    • QUIT : deconnexion du C&C par rapport au bot

Installation de la charge utile sur un bot

  • $C&C : "upload?\n"
  • $BOT : "OKupload\n"
  • $C&C : "%d\n", charge.name.size
  • $BOT : "OKname_size\n"
  • $C&C : "%s\n", charge.name
  • $BOT : "OKname\n"
  • $C&C : "%d\n", charge.data.size
  • $BOT : "OKdata_size\n"
  • $C&C : "%s\n", charge.data // On envoie octect par octet
  • $BOT : "bye"\n" // Lorsque tous les octets sont reçus
  • $C&C : "bye"\n"

Exécution d'une charge sur un bot

  • $C&C : "execute?\n"
  • $BOT : "OKexecute\n"
  • $C&C : "%d\n", charge.name.size
  • $BOT : "OKname_size\n"
  • $C&C : "%s\n", charge.name
  • $BOT : "OKname\n" // si la charge n'est pas presente sur le bot alors se dernier envoi un autre message "NOKname\n" et ca stop l'echange
  • $BOT : "%d\n", id //indice de l'execution dans la structure de donne choisie (liste chaine, table de hashage...a definir) pour stocker les resultats d'execution sur le bot
  • $C&C : "OKid\n"
  • $BOT : "bye"\n"
  • $C&C : "bye"\n"

Suppression d'une charge sur un bot

  • $C&C : "delet?\n"
  • $BOT : "OKdelet\n"
  • $C&C : "%d\n", charge.name.size
  • $BOT : "OKname_size\n"
  • $C&C : "%s\n", charge.name
  • $BOT : "OKname\n" //si la charge n'est pas presente sur le bot alors se dernier envoi "NOKname\n" et ca stop l'echange
  • $C&C : "bye"\n"
  • $BOT : "bye"\n"

Demander à un bot de résultat de l'exécution d'une charge

  • $C&C : "result?\n"
  • $BOT : "OKresult\n"
  • $C&C : "%d\n", id
  • $BOT : "OKid" //si id existe pas, renvoie "NOKid\n" et stop l'echange
  • $BOT : "%d\n", executions[id].result.size
  • $C&C : "OKresult_size\n"
  • $BOT : "%s\n", executions[id].result //on envoi octect par octet
  • $C&C : "bye"\n" //qd a recu tt les packets
  • $BOT : "bye"\n"

Veuillez ne pas modifier ce README sans en parler à tout le monde !