Blame view

README.md 2.83 KB
5d96f53c   grouille   MAJ
1
  # PSR 2020
16098d01   grouille   MAJ README
2
  
5d96f53c   grouille   MAJ
3
4
  ## Informations utiles
  
f3e3110d   grouille   MAJ
5
6
7
8
9
10
  - La liste des bots actifs doit être vidée toutes les **10** secondes sur le C&C ;
  - Il doit être possible d'exécuter une charge utile sur plusieurs bots en même temps ;
  - Un même bot doit pouvoir exécuter plusieurs charges utiles en même temps ;
  - Un bot doit pouvoir gérer plusieurs connexions TCP simultanées ;
  - Le site web doit gérer plusieurs connexions simultanées ;
  - L'index d'exécution sert à récupérer le résultat lors de la demande de l'utilisateur.
5d96f53c   grouille   MAJ
11
12
  
  ## Protocôle UDP
16098d01   grouille   MAJ README
13
  
26e9d022   grouille   MAJ README
14
15
16
17
  - Port : 4242
  - Contenu du paquet :
    - _Identifiant du bot_ : 6 octets
    - _Temps de vie (nombre de secondes depuis le démarrage)_ 4 octets
16098d01   grouille   MAJ README
18
  
5d96f53c   grouille   MAJ
19
  ## Protocôle TCP
16098d01   grouille   MAJ README
20
  
26e9d022   grouille   MAJ README
21
22
  - Port : 4242
  - Commandes :
97ac6b64   grouille   MAJ README
23
    - _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). Par exemple, un bot ayant un temps de vie de 1524 secondes, possédant 12 charges et ayant réalisé 3 exécutions enverra : 1524,12,3
26e9d022   grouille   MAJ README
24
    - _QUIT_ : deconnexion du C&C par rapport au bot
16098d01   grouille   MAJ README
25
26
27
  
  ### Installation de la charge utile sur un bot
  
ef04e1cb   grouille   MAJ README
28
29
30
31
32
33
34
35
36
37
38
  - _$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"
16098d01   grouille   MAJ README
39
40
41
  
  ### Exécution d'une charge sur un bot
  
ef04e1cb   grouille   MAJ README
42
43
44
45
46
47
48
49
50
51
  - _$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"
16098d01   grouille   MAJ README
52
53
54
  
  ### Suppression d'une charge sur un bot
  
ef04e1cb   grouille   MAJ README
55
56
57
58
59
60
61
62
  - _$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"
16098d01   grouille   MAJ README
63
64
65
  
  ### Demander à un bot de résultat de l'exécution d'une charge
  
ef04e1cb   grouille   MAJ README
66
67
68
69
70
71
72
73
74
  - _$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"
16098d01   grouille   MAJ README
75
  
16098d01   grouille   MAJ README
76
77
  
  **Veuillez ne pas modifier ce README sans en parler à tout le monde !**