/[cvs]/eggdrop1.6/doc/BOTNET
ViewVC logotype

Contents of /eggdrop1.6/doc/BOTNET

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.11 - (show annotations) (download)
Wed Jan 2 08:06:12 2002 UTC (19 years, 3 months ago) by tothwolf
Branch: MAIN
Changes since 1.10: +2 -3 lines
more copyright updates and documentation changes

1 BOTNET SHARING AND LINKING v2.1 29 Dec 2000
2
3
4
5 INDEX
6
7 I. ABOUT THIS DOCUMENT
8 II. TERMS USED
9 III. WHAT IS A BOTNET?
10 IV. ADDING AND LINKING BOTS
11 V. USING BOTFLAGS
12 VI. MAKING BOTS SHARE USER RECORDS
13
14
15
16
17
18 I. ABOUT THIS DOCUMENT
19
20 The purpose of this document is to show you what a botnet is and how
21 it could be useful to you. It also covers botflags userfile sharing.
22
23
24 II. TERMS USED
25
26 The following are some common terms used in this document:
27
28
29 Botnet
30 A botnet consists of one or more bots connected together.
31
32
33 Link
34 Link is the term used to describe a bot connecting to another bot.
35
36
37 Hub
38 A bot is described as a hub-bot if one or more bots are linked to
39 it.
40
41
42 Leaf
43 A leaf is a non-hub bot connecting to a hub-bot. A leaf has only
44 one other bot connected to it, its hub. Leaf bots can be assigned
45 the "l" botflag to prevent other bots from linking to them.
46
47
48 Link Bot
49 A link-bot is a bot that is linked to another bot. It may or may not
50 be a hub-bot.
51
52
53 Share
54 Share is the term used to describe the sharing of user records.
55
56
57 Share Bot
58 A share-bot is a bot which shares user records with one or more
59 linked bots.
60
61
62 Aggressive Share
63 Aggressive share is a term used to describe the direction of sharing
64 user-files. Aggressive share bots will SEND userfiles to another passive
65 bot.
66
67
68 Passive Share
69 Passive share is a term used to describe the direction of sharing
70 user-files. Passive share bots will accept userfiles from an aggressive
71 share bot.
72
73 Example bottree:
74
75 BotA
76 |-+BotB
77 `-+BotC
78
79 BotB is linked to a master sharebot, BotA, and a slave sharebot,
80 BotC. BotB shares passively with [receives from] BotA and shares
81 aggressively with [sends to] BotC.
82
83
84 Bot Flags
85 Flags are attributes that determine what a bot can or is allowed to do.
86 Flags can be either global (such as +s) or channel specific (such as
87 |+s #lamest). See '.help botattr' for help with setting these flags.
88
89 The following is a list of valid bot flags:
90
91 s share aggressively (SEND userfile to a passive bot)
92 p share passively (ACCEPT userfile from an aggressive bot)
93 g global share (share all channels)
94 h hub (automatically link to this bot)
95 a alternate (automatically link to this bot if the hub bot can't be
96 linked)
97 l leaf (bot is not allowed to link in other bots)
98 r reject (bot will not be allowed to link)
99 i isolate (isolate the party line across a bot link)
100 0-9 user defined flags
101
102
103
104 Address
105 The physical address, containing the address and port of the bot.
106 For example: lame.org:3333. You can change a bot's address with
107 ".chaddr <botname> <hostaddress:botport[/userport]>".
108
109
110 Relay
111 The relay port number of the bot is defined in the config file.
112 Note that you can define one port for bots and another for user
113 connections.
114
115
116 Relay
117 A relay connection is used to relay (jump) to another bot via telnet
118 or DCC chat. You can relay to another bot even if the remote bot is
119 not linked. You can use ".relay <botname>" to relay to another bot.
120
121
122 Port
123 The telnet port is used by the bot to communicate with other bots
124 and/or users. Note that you can define separate ports for user and bot
125 connections.
126
127
128
129
130 III. WHAT IS A BOTNET?
131
132 A botnet consists of one or more bots linked together. This can allow bots
133 to op each other securely, control floods efficiently, and share user lists,
134 ban lists, exempt/invite lists, and ignore lists (if sharing is enabled).
135
136
137 IV. ADDING AND LINKING BOTS
138
139 With the common terms out of the way, we can start with the process of
140 linking two bots. Before you start, you need to know the address and
141 port of each bot you wish to link.
142
143 Here is an example senario:
144
145 BotA is on lame.org listening on port 3333, and BotB is on irc.org
146 listening on port 4444. First, you have to add each Bot to the other's
147 userfile. On BotA, you would type '.+bot BotB irc.org:4444'. If BotB is
148 on a common channel with BotA, BotB's hostmask is automatically added.
149 Otherwise, you have to add the hostmask manually with the '.+host'
150 command. On BotB, you would type '.+bot BotA lame.org:3333'.
151
152 At this point, you can link the two bots by typing '.link BotA' on BotB (or
153 '.link BotB' on BotA). The bots will now give themselves random passwords
154 which are *not* stored encrypted in the userfile. Note that you can link as
155 many bots as you wish to your botnet.
156
157
158
159
160 V. USING BOTFLAGS
161
162 Botflags are needed to assign special functions and tasks to your bots.
163 Bot flags are set with the '.botattr' command. See '.help botattr' for
164 help with this command. The following is a list of botflags and their
165 functions:
166
167 "h" (hub)
168 If you want your bot(s) to automatically link/relink, you can assign
169 the +h botflag each bot's hub. Note that if you set multiple bots +h,
170 the bot only attempts to link to one.
171
172
173 "a" (alternate)
174 If your bots are, for some reason, unable to link to their hub, they
175 will attempt to connect to an alternate hub. You can assign a bot as
176 an alternate hub by giving it the +a botflag.
177
178
179 "l" (leaf)
180 This flag, assigned to a link bot, will prevent the link bot from linking
181 other bots to your botnet.
182
183
184 "r" (reject)
185 If you assign this flag to a link bot, the link bot will not be allowed
186 to link to the botnet.
187
188
189 "i" (isolate)
190 This flag isolates a link bot's partyline from the rest of the botnet.
191 Anything said on the link bot's partyline won't appear on the rest of
192 the botnet.
193
194
195 "s" (SEND userfile to)
196 +s Giving a link bot this flag will make the bot share aggressively
197 with the link bot. See 'Aggressive Share' in section II of this
198 document for more information on aggressive sharing.
199
200 |s +s bots need this flag for each channel you want to share.
201
202
203 "p" (ACCEPT userfile from)
204 Giving a link bot this flag will make the bot share passively
205 with the link bot. See 'Passive Share' in section II of this
206 document for more information on passive sharing.
207
208
209 "g" (global share)
210 This flag allows the sharing of all channels with a link bot.
211
212
213 "0-9" (user-defined)
214 These 10 flags are user-defined can be used by scripters.
215
216
217
218 VI. MAKING BOTS SHARE USER RECORDS
219
220 Before you start preparing your bots for sharing, make sure that
221 you've loaded the transfer and share modules. You also have to ensure
222 that each channel you wish to share is set +shared (see '.help
223 chanset' and '.help chaninfo').
224
225 By using specific botflags, you can cause your bot to share
226 aggressively with some link bots, and passively with others. For
227 sharing to work, flags must be set properly on both the passive and
228 the aggressive bots. An aggressive bot will not share userfiles with
229 another aggressive bot; a passive bot will not share userfiles with
230 another passive bot.
231
232 First off, let's say we have two bots we want to link. We will
233 call one Lamestbot, and the other Lameshare. The first thing that needs
234 to be done is each bot needs the other bot added to it's user record.
235 Your botnet should have a hub bot. This will have them connect
236 automatically whenever they are started. Without a hub, you would have to
237 manually link them with the .link command. For this situation we will
238 make Lamestbot the hub for our small botnet. Let's also use a channel
239 called #eggdrop as the one we want to share user channel flags with. Do
240 the following:
241
242 On Lamestbot:
243
244 .+bot Lameshare eggdrop.com:3333 (This command adds a user record to
245 Lamestbot for Lameshare. Lameshare is running from eggdrop.com and is
246 on port 3333. If Lameshare were to have a separate port for users/relays
247 we would just add a '/' and the port number, i.e. 3333/5555.)
248
249 .botattr Lameshare +s (This tells us that Lamestbot will only send
250 user files to Lameshare; Lameshare will not send them to it.)
251
252 .botattr Lameshare |s #eggdrop (this sets up sharing of the channel
253 flags for #eggdrop between the bots. Without this, they will not share
254 channel flags only global flags for the users.)
255
256 On Lameshare:
257
258 .+bot Lamestbot best.com:3333/5555 (Again this will add a user on
259 Lameshare called Lamestbot with the domain of best.com. The bot has two
260 ports, 3333 for bot communications and 5555 for users/relays.)
261
262 .botattr Lamestbot +hp (This command sets Lamestbot as the hub and
263 also as a passive share, which means Lameshare will accept user files
264 from Lamestbot.
265
266 .botattr Lamestbot |s #eggdrop (This sets #eggdrop as a share
267 channel.)
268
269 Our botnet:
270
271 Lamestbot
272 `-+Lameshare
273
274 Let's add a third bot called beldin to this scenario:
275
276 On Lamestbot:
277
278 .+bot beldin llama.com:3333
279
280 .botattr beldin s|s #eggdrop (Notice how i piped (the | character)
281 the channel flag also saving time.)
282
283 Also note that you don't have to add beldin on Lameshare. Since
284 they are already sharing, it was added automatically. The one thing that
285 you should note is that no bot flags will be shared. If you set beldin as
286 +s (Aggressive share) on the hub (Lamestbot) he will not be set on the
287 other bots as that. The same with the channel +s flag. All other flags
288 will be shared such as the o, f, etc. Now that we have three bots, we
289 can also set up one as an alternate hub. The alternate hub is the bot
290 that the bots will auto-connect to in the event the hub goes down or
291 is unreachable.
292
293 Let's make beldin an alternate hub for our little botnet.
294
295 On Lameshare:
296
297 .botattr beldin +a
298
299 That's all there is to it. Again, since bot flags are not shared,
300 you would have to add the bot flag +a for beldin on them all. The only
301 ones you would not have to do this on are beldin and the hub (Lamestbot).
302 Of course, if you had more bots, you would have to add beldin as a +a on
303 them, but you would not do it on the hub or beldin.
304
305 Our botnet:
306
307 Lamestbot
308 |-+beldin
309 `-+Lameshare
310 _________________________________________________________________
311
312 Copyright (C) 1999, 2000, 2001, 2002 Eggheads Development Team

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23