author | mjm <mjm> | 2002-10-31 12:33:48 (UTC) |
---|---|---|
committer | mjm <mjm> | 2002-10-31 12:33:48 (UTC) |
commit | 4287f9892d5fd18ace4e1fbd55d4731b7e2b1429 (patch) (unidiff) | |
tree | 28c814f13547e06df06656caeb17aecdf64c25ed | |
parent | 702ab550d1f6b06e779935457e5e25748c8e6fc3 (diff) | |
download | opie-4287f9892d5fd18ace4e1fbd55d4731b7e2b1429.zip opie-4287f9892d5fd18ace4e1fbd55d4731b7e2b1429.tar.gz opie-4287f9892d5fd18ace4e1fbd55d4731b7e2b1429.tar.bz2 |
pre-version of specification
-rw-r--r-- | noncore/net/wellenreiter/docs/specification | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/noncore/net/wellenreiter/docs/specification b/noncore/net/wellenreiter/docs/specification new file mode 100644 index 0000000..d833451 --- a/dev/null +++ b/noncore/net/wellenreiter/docs/specification | |||
@@ -0,0 +1,119 @@ | |||
1 | |||
2 | -[ Design of wellenreiter ]- | ||
3 | |||
4 | written by: Martin J. Muench <mjm@codito.de> | ||
5 | |||
6 | -[ Introduction | ||
7 | |||
8 | This is just a short overview of the new design of wellenreiter. | ||
9 | There will for sure be some changes and most parts will be specified | ||
10 | in more detail. | ||
11 | |||
12 | |||
13 | -[ Program | ||
14 | |||
15 | wellenreiter 1.7 | ||
16 | (will be named 2.0 after all the functions are implemented and the code | ||
17 | is cleaned up and audited) | ||
18 | |||
19 | |||
20 | -[ Short description | ||
21 | |||
22 | Wellenreiter is a wireless sniffing tool like netstumbler, kismet et al. | ||
23 | It discovers Access Points and Ad-Hoc networks and displays all available | ||
24 | information about them so that you can simply join unencrypted network | ||
25 | (without access restrictions) with the given informations. | ||
26 | For the latest version of wellenreiter look at: | ||
27 | http://wellenreiter.sourceforge.net. | ||
28 | |||
29 | |||
30 | -[ Overview | ||
31 | |||
32 | The software is divided into 2 sections, the daemon and the GUI. | ||
33 | The daemon does the active sniffing, analying stuff etc.pp. and | ||
34 | sends the informations to the GUI which displays the results. | ||
35 | |||
36 | |||
37 | -[ Configuration | ||
38 | |||
39 | The configuration is done by both, the GUI and the daemon so that the | ||
40 | GUI only provides the graphical interface to the configuration library | ||
41 | of the daemon. That means that the daemon loads the config file on | ||
42 | startup and sends the informations to the GUI. The GUI contains an option | ||
43 | "configure" where the settings can be changed. They will be sent to the | ||
44 | daemon which actually changes the configuration file. | ||
45 | The configuration file is placed in /usr/local/etc/wellenreiter.conf. | ||
46 | The whole content of this file cannot be specified yet. | ||
47 | |||
48 | |||
49 | -[ Interaction GUI<->daemon | ||
50 | |||
51 | The GUI and the daemon will talk actively with eachother, meaning that | ||
52 | everyside who has informations for the other part will send it and not | ||
53 | wait for the other part to poll. | ||
54 | For example the sniffing function of the daemon is startet when a | ||
55 | "start_sniff" from the GUI arrived. And when the daemon found a network | ||
56 | it will be directly send to the GUI to be able to sniff in realtime. | ||
57 | |||
58 | |||
59 | -[ Communication GUI<->daemon | ||
60 | |||
61 | Not yet specified. | ||
62 | |||
63 | |||
64 | -[ Setting card modes | ||
65 | |||
66 | One of the most interesting parts is the switching of the wirelesscards to | ||
67 | different channels, to monitor mode and so on. In the older versions this | ||
68 | actions were done by the calling of external programs, that is now obsolete. | ||
69 | We will use the API of the wireless drivers to set it up. | ||
70 | |||
71 | |||
72 | -[ Sniffing | ||
73 | |||
74 | The sniffing will be done by capturing and analyzing all packets using the | ||
75 | pcap library. The sniffer itself will be a function of the daemon which will | ||
76 | probably be threaded so that this function is non-blocking. | ||
77 | If a packet is found the sniffer sends it to an analyzer function which | ||
78 | analyzes the packets, strips the results and sends it to the GUI. | ||
79 | |||
80 | |||
81 | -[ Logging | ||
82 | |||
83 | The GUI should not need to log that much so it logs to STDERR. The daemon | ||
84 | will be able to run in foreground and log to STDERR and syslog but normally | ||
85 | it will only log to syslog (INFO/ERR). | ||
86 | Logging of found networks, packets and so on will also be done by the daemon | ||
87 | but set up by the GUI. | ||
88 | |||
89 | |||
90 | -[ GPS | ||
91 | |||
92 | The gps daemon software will be used, hopefully by their API if they provide | ||
93 | that. If not, we have to use system() calls, hope we do not. | ||
94 | |||
95 | |||
96 | -[ Security | ||
97 | |||
98 | The programm and the daemon will have to run with SUID privileges for being | ||
99 | able to change card modes etc. so the code has to be audited several times. | ||
100 | Setuid 0 will only be called when really needing the privileges and dropped | ||
101 | directly after every single systemcall. | ||
102 | The daemon will implement an access control list where it specifies which | ||
103 | IPs or network interfaces will have access to it. | ||
104 | The configuration file will be chmod'ed 0400, for writing the configuration | ||
105 | library will change the mode. Of course the file will be locked during | ||
106 | writing so no race conditions can occur. | ||
107 | |||
108 | |||
109 | -[ Documentation | ||
110 | |||
111 | Wellenreiter will have it's own wellenreiter(8) manpage with most parts of | ||
112 | the README file in there. | ||
113 | Also we will provide general documentation about wireless scanning, security | ||
114 | risks with wireless devices and so on. | ||
115 | Most documentation will be intern like this one. The GUI and the daemon | ||
116 | should have a non-technical documentation and a developers version so we | ||
117 | can easily develope with other peoples code without having to read it | ||
118 | completely. | ||
119 | |||