Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


eggdrop:botnet

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
eggdrop:botnet [2023/10/04 07:53] – [Configuration des ports] CrazyCateggdrop:botnet [2023/10/04 08:18] (Version actuelle) – [Partage d'informations] CrazyCat
Ligne 7: Ligne 7:
 Pour créer un botnet, vous avez besoin au minimum de 2 eggdrops avec des ports d'écoute disponibles. Pour créer un botnet, vous avez besoin au minimum de 2 eggdrops avec des ports d'écoute disponibles.
 ==== Pré-requis ==== ==== Pré-requis ====
-Si vous comptez partager les informations de canaux (utilisateurs, bans, invites, ...), vous devez: +Si vous comptez [[#partage|partager]] les informations de canaux (utilisateurs, bans, invites, ...), vous devez: 
-    * Vous assurer que chaque canal à partager a bien l'option +shared (.chanset #canal +shared) +    * Vous assurer que chaque canal à partager a bien l'option +shared (`.chanset #canal +shared`
-    * Avoir activé le module Transfer (.loadmod transfer) +    * Avoir activé le module Transfer (`.loadmod transfer`
-    * Avoir activé le module Share (.loadmod share)+    * Avoir activé le module Share (`.loadmod share`)
 ==== Configuration des ports ==== ==== Configuration des ports ====
-Pour chaque port ouvert de l'eggdrop, vous devez spécifier le type d'utilisateur autorisé. La solution de facilité serait de choisir all mais ce n'est pas sécurisé.+Pour chaque port ouvert de l'eggdrop, vous devez spécifier le type d'utilisateur autorisé. La solution de facilité serait de choisir //all// mais ce n'est pas sécurisé.
  
 Une méthode habituellement utilisée est de configurer un port global pour les utilisateurs normaux (users) et un port pour les robots (bots). Au cas où votre eggdrop serait un hub, il est conseillé d'affecter un port bots pour 2 ou 3 robots maximum, afin de ne pas saturer le port en question. Pour ma part, j'affecte un port à un robot, voici ce que donne la configuration de mon hub principal: Une méthode habituellement utilisée est de configurer un port global pour les utilisateurs normaux (users) et un port pour les robots (bots). Au cas où votre eggdrop serait un hub, il est conseillé d'affecter un port bots pour 2 ou 3 robots maximum, afin de ne pas saturer le port en question. Pour ma part, j'affecte un port à un robot, voici ce que donne la configuration de mon hub principal:
Ligne 22: Ligne 22:
 Excalibur s'attend donc à ce que les utilisateurs se connectent via le port 3300 et que des robots se connectent sur les ports 3351 et 3352. Excalibur s'attend donc à ce que les utilisateurs se connectent via le port 3300 et que des robots se connectent sur les ports 3351 et 3352.
  
-Vous noterez que j'utilise un pas de 1 pour les ports sur le hub. La règle de l'écart d'au moins 5 ports est pour des eggdrops différents mais ne s'applique pas aux ports d'un même eggdrop. Voici maintenant la configuration d'un leaf (Artus dans notre cas): +Vous noterez que j'utilise un pas de 1 pour les ports sur le hub. La règle de l'écart d'au moins 5 ports est pour des eggdrops différents mais ne s'applique pas aux ports d'un même eggdrop. Voici maintenant la configuration d'un [[#leaf|leaf]] (Artus dans notre cas): 
- +<code tcl>listen 3500 users 
-listen 3500 users +listen 3401 bots</code>
-listen 3401 bots +
 Artus attend des utilisateurs sur le port 3500 et des robots sur le port 3401. Artus attend des utilisateurs sur le port 3500 et des robots sur le port 3401.
 Et nous allons ajouter Brandelis comme un robot normal, c'est à dire sans lui donner de flag particulier: Et nous allons ajouter Brandelis comme un robot normal, c'est à dire sans lui donner de flag particulier:
- +<code tcl>listen 3510 users 
-listen 3510 users +listen 3411 bots</code>
-listen 3411 bots+
  
 Notre but est donc de créer l'arborescence suivante: Notre but est donc de créer l'arborescence suivante:
Ligne 38: Ligne 35:
      |-- Artus (leaf)      |-- Artus (leaf)
      `-- Brandelis      `-- Brandelis
 +<WRAP center round tip 80%>
 +Si vous avez décidé de relier les eggdrops en utilisant un [[:eggdrop:installation#SSL|certificat ssl]], il faut précéder le port d'un <kbd>+</kbd>
 +</WRAP>
  
 ==== Ajout des robots ==== ==== Ajout des robots ====
 Nous partirons du principe que tous les eggdrops sont sur la même machine avec l'IP 127.0.0.1. Nous partirons du principe que tous les eggdrops sont sur la même machine avec l'IP 127.0.0.1.
-Il faut, dans chaque robot, ajouter les robots auxquels il peut être relié. Pour cela nous utilisons la commande .+bot.+Il faut, dans chaque robot, ajouter les robots auxquels il peut être relié. Pour cela nous utilisons la commande `.+bot`. 
 +  * **Syntaxe: `.+bot botnet-nick host [+]bport/rport`** 
 +    * **botnet-nick**: Nom de l'eggdrop dans le botnet, habituellement son nick (réduit à 9 caractères) ou bien celui défini dans la configuration 
 +    * **host**: L'adresse par laquelle l'eggdrop peut être contacté (habituellement son IP) 
 +    * **bport**: le port bots à utiliser (précédé d'un <kbd>+</kbd> si SSL) 
 +    * **rport**: Le port de relais, qui correspond normalement à un port users ou all. Le port de relais sert à un utilisateur pour atteindre la party-line d'un eggdrop directement connecté.
  
-    Syntaxe: .+bot botnet-nick host bport/rport +Seul le botnet-nick est obligatoire, vous pouvez ensuite modifier les autres valeurs par la commande `.+host`
-        botnet-nick: Nom de l'eggdrop dans le botnet, habituellement son nick (réduit à 9 caractères) ou bien celui défini dans la configuration +
-        host: L'adresse par laquelle l'eggdrop peut être contacté (habituellement son IP) +
-        bport: le port bots à utiliser +
-        rport: Le port de relais, qui correspond normalement à un port users ou all. Le port de relais sert à un utilisateur pour atteindre la party-line d'un eggdrop directement connecté. +
- +
-Seul le botnet-nick est obligatoire, vous pouvez ensuite modifier les autres valeurs par la commande .+host. +
 === Excalibur === === Excalibur ===
-.+bot Artus 127.0.0.1 3401/3500+<code>.+bot Artus 127.0.0.1 3401/3500
 .botattr Artus +l .botattr Artus +l
 .+bot Brandelis .+bot Brandelis
-.+host Brandelis 127.0.0.1 3411/3510+.+host Brandelis 127.0.0.1 3411/3510</code>
 === Artus === === Artus ===
-.+bot Excalibur 127.0.0.1 3351/3300 +<code>.+bot Excalibur 127.0.0.1 3351/3300 
-.botattr Excalibur +h+.botattr Excalibur +h</code>
 === Brandelis === === Brandelis ===
-.+bot Excalibur 127.0.0.1 3352/3300 +<code>.+bot Excalibur 127.0.0.1 3352/3300 
-.botattr Excalibur +h+.botattr Excalibur +h</code>
 ==== Partage ==== ==== Partage ====
 A ce stade, Artus et Brandelis tentent automatiquement de se connecter à Excalibur et devraient y arriver. Mais des eggdrops reliés entre eux ne sert pas à grand chose s'ils ne partagent pas leurs informations. A ce stade, Artus et Brandelis tentent automatiquement de se connecter à Excalibur et devraient y arriver. Mais des eggdrops reliés entre eux ne sert pas à grand chose s'ils ne partagent pas leurs informations.
Ligne 67: Ligne 66:
 </WRAP> </WRAP>
 Il existe 3 sortes de partage: Il existe 3 sortes de partage:
- +  * passif (flag p), c'est à dire que l'eggdrop reçoit un fichier de partage, 
-    passif (flag p), c'est à dire que l'eggdrop reçoit un fichier de partage, +  agressif (flag s), l'eggdrop envoit son fichier de partage, 
-    agressif (flag s), l'eggdrop envoit son fichier de partage, +  global (flag g), l'eggdrop partage toutes les informations.
-    global (flag g), l'eggdrop partage toutes les informations.+
  
 Le type de partage n'est pas général mais spécifique au lien, c'est à dire qu'Excalibur pourrait avoir un partage agressif avec Artus et passif avec Brandelis. Par contre, il faut bien sûr qu'Artus ait un partage passif et Brandelis un partage agressif. Le type de partage n'est pas général mais spécifique au lien, c'est à dire qu'Excalibur pourrait avoir un partage agressif avec Artus et passif avec Brandelis. Par contre, il faut bien sûr qu'Artus ait un partage passif et Brandelis un partage agressif.
 +<WRAP center round tip 80%>
 Nous pourrions ajouter un eggdrop (Lambda) connecté à Brandelis (Artus étant leaf, ce serait refusé par Excalibur) et faire un partage passif de Brandelis avec Lambda. Nous pourrions ajouter un eggdrop (Lambda) connecté à Brandelis (Artus étant leaf, ce serait refusé par Excalibur) et faire un partage passif de Brandelis avec Lambda.
 +</WRAP>
  
 Le partage peut être global (tous les canaux, tous les utilisateurs) ou par canaux. Le partage peut être global (tous les canaux, tous les utilisateurs) ou par canaux.
Ligne 82: Ligne 81:
 == Dans Excalibur == == Dans Excalibur ==
 Nous voulons qu'Excalibur reçoive les fichiers indépendamment des canaux, nous allons donc définir le lien comme global: Nous voulons qu'Excalibur reçoive les fichiers indépendamment des canaux, nous allons donc définir le lien comme global:
-.botattr Artus +g +<code>.botattr Artus +g 
-.botattr Brandelis +g+.botattr Brandelis +g</code>
 == Dans Artus == == Dans Artus ==
 Artus va partager agressivement les informations du canal #eggdrops avec Excalibur: Artus va partager agressivement les informations du canal #eggdrops avec Excalibur:
-.botattr Excalibur |+s #eggdrops+<code>.botattr Excalibur |+s #eggdrops</code>
 == Dans Brandelis == == Dans Brandelis ==
 Pour Brandelis, on va compliquer les choses: il partagera agressivement les données de #maison mais recevra les informations de #eggdrops (donc celles qu'Artus aura transmises à Excalibur): Pour Brandelis, on va compliquer les choses: il partagera agressivement les données de #maison mais recevra les informations de #eggdrops (donc celles qu'Artus aura transmises à Excalibur):
-.botattr Excalibur |+s #maison +<code>.botattr Excalibur |+s #maison 
-.botattr Excalibur |+p #eggdrops+.botattr Excalibur |+p #eggdrops</code>
 ===== Infos complémentaires ===== ===== Infos complémentaires =====
 ==== Type de robot ==== ==== Type de robot ====
Ligne 96: Ligne 95:
 === Hub === === Hub ===
 Un hub est, dans notre cas, un eggdrop auquel seront connectés d'autres eggdrops. Si Excalibur est déclaré comme hub auprès des autres eggdrops du botnet, ceux-ci essayeront de se connecter à lui. Un hub est, dans notre cas, un eggdrop auquel seront connectés d'autres eggdrops. Si Excalibur est déclaré comme hub auprès des autres eggdrops du botnet, ceux-ci essayeront de se connecter à lui.
- +  * flag associé: +h
-    flag associé: +h +
 === Leaf === === Leaf ===
 A contrario, un robot déclaré leaf ne peut être connecté qu'à un seul eggdrop et sera éjecté du botnet s'il est déjà connecté à d'autres eggdrops. A contrario, un robot déclaré leaf ne peut être connecté qu'à un seul eggdrop et sera éjecté du botnet s'il est déjà connecté à d'autres eggdrops.
- +  * flag associé: +l
-    flag associé: +l +
 ==== Partage d'informations ==== ==== Partage d'informations ====
 === Flags utiles === === Flags utiles ===
- +Il est recommandé de donner les [[:eggdrop:flags]] f (friend) et o (op) aux eggdrops qui sont reliés par botnet, essentiellement lorsqu'ils font du partage d'informations. 
-Il est recommandé de donner les flags f (friend) et o (op) aux eggdrops qui sont reliés par botnet, essentiellement lorsqu'ils font du partage d'informations. +{{tag>"Utilisation d'eggdrop"}}
eggdrop/botnet.1696406029.txt.gz · Dernière modification : 2023/10/04 07:53 de CrazyCat