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