aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2012-12-02 15:39:06 +0100
committerLaurent Ghigonis <laurent@p1sec.com>2012-12-02 15:39:06 +0100
commit9824878d04a33f1982465e408f07bcb347c82c9f (patch)
tree8f50d0d0308811485d1b628ec2102d51f3cff335 /doc
parentfix sendrecv unit test by using send buffer flush functions (diff)
downloadglouglou-9824878d04a33f1982465e408f07bcb347c82c9f.tar.xz
glouglou-9824878d04a33f1982465e408f07bcb347c82c9f.zip
move some files to doc/
Diffstat (limited to 'doc')
-rw-r--r--doc/ARCHITECTURE.txt48
-rw-r--r--doc/DEFINITIONS.txt4
-rw-r--r--doc/ROADMAP.txt76
-rw-r--r--doc/architecture.xojbin0 -> 18500 bytes
-rw-r--r--doc/sendring.xojbin0 -> 42759 bytes
5 files changed, 128 insertions, 0 deletions
diff --git a/doc/ARCHITECTURE.txt b/doc/ARCHITECTURE.txt
new file mode 100644
index 0000000..721b094
--- /dev/null
+++ b/doc/ARCHITECTURE.txt
@@ -0,0 +1,48 @@
+===============================================================================
+2012-11-06_00-19
+
+refer to architecture.xoj for big picture
+* libglouglou
+* viz clients
+* probes (trackproc, netsniff, fwsniff)
+
+===============================================================================
+libglouglou/includes
+* protocol version
+* packet structure
+* common constants
+
+===============================================================================
+libglouglou/lib
+* client and server code
+* tools
+
+/*
+ * start a server
+ * totaly unblocking, using libevent
+ */
+struct gg_server *
+gg_server_start(char *ip, int port,
+ int (*handle_conn)(struct gg_server *s, int client_id, struct sockaddr_in *addr),
+ int (*handle_packet)(struct gg_server *s, struct gg_packet *p));
+
+int
+gg_server_send(struct gg_server *s, int client_id, struct gg_packet *p);
+
+void
+gg_server_stop(struct gg_server *s);
+
+/*
+ * connect to a server
+ * totaly unblocking, using libevent
+ */
+struct gg_client *
+gg_client_connect(char *ip, int port,
+ int (*handle_conn)(struct gg_client *c, int status),
+ int (*handle_packet)(struct gg_client *c, struct gg_packet *p));
+
+int
+gg_client_send(struct gg_client *c, struct gg_packet *p);
+
+void
+gg_client_disconnect(struct gg_client *c);
diff --git a/doc/DEFINITIONS.txt b/doc/DEFINITIONS.txt
new file mode 100644
index 0000000..0795725
--- /dev/null
+++ b/doc/DEFINITIONS.txt
@@ -0,0 +1,4 @@
+server: the glougloud daemon
+clients: the glouglou_* clients
+nodes: hosts exchanging network traffic
+server node: node where the glougloud daemon is hosted and captures traffic
diff --git a/doc/ROADMAP.txt b/doc/ROADMAP.txt
new file mode 100644
index 0000000..9af67f3
--- /dev/null
+++ b/doc/ROADMAP.txt
@@ -0,0 +1,76 @@
+=== TODO ===
+* look at flexible Netflow
+ * IPFX
+
+=== IN PROGRESS ===
+
+0.4 - minimal version of gg_trackproc
+
+=== PLANNED ===
+
+0.5 - minimal version of gg_efl
+
+=== LATER ===
+
+* packet chuncking
+
+* interactive display:
+when users click on a node, only this node and the server appears, zoomed in
+
+* SS7 SCCP PC/GT plugin, creating nodes with SCCP addressing
+
+* change daemon-clients architecture to sniffer-daemon-clients
+sniffers send traffic to daemon where client connects
+
+=== DONE ===
+
+0.1 - basic daemon
+* glougloud: capture traffic and send summary to clients
+
+0.2 - minimal version of libglouglou with unit tests
+* libglouglou: calls that are in ARCHITECTURE.txt
+* unit tests for all calls
+
+0.3 - minimal version of gg_server
+
+===============================================================================
+OLD
+===============================================================================
+
+0.2 - display elements
+* gg_efl: display server node on the left (10min)
+* gg_efl: display other nodes of the right (45min != 60min, dev 1.2)
+* gg_efl: find a good elementary layout, or use directly evas on the bg
+* libglouglou: rename all id to connid, and update ggd gg_elf
+* gg_efl: display packets, moving between nodes (45min)
+* glougloud: send IP type for a connection (10min)
+* gg_efl: different colors for packets depending of IP type (20min)
+* glougloud: send ports for a connection (10min)
+* gg_efl: different connections per port (20min)
+* gg_efl: timer for nodes and conns
+
+
+=== PLANNED ===
+
+0.3 - bug killing
+* glougloud: see XXX in code and BUGS.txt
+* gg_efl: see XXX in code and BUGS.txt
+* glougloud: handle 2 ways of a connection in 1 connection
+
+0.4 - nicer display
+* gg_efl: nodes are in a circle around the server node
+* gg_efl: nodes intensity reflects their usage, proportionaly to other nodes
+* gg_efl: packets go quick when leaving the sender node and slowing down before ariving to destination node
+* gg_efl: packets are fading out when ariving to destination node
+* gg_efl: packets between 2 nodes have a different ellipse path for each connection / IP type
+
+0.5 - daemon plugins
+* glougloud: load plugins capability, with hooks on parsing traffic
+* glougloud: http plugin that parses basic html elements
+
+0.6 - deeper traffic display
+* glougloud: parse and send keywords to clients
+* gg_efl: display keywords
+* glougloud: read, reduce and send captured images to clients
+* gg_efl: display images
+
diff --git a/doc/architecture.xoj b/doc/architecture.xoj
new file mode 100644
index 0000000..ce6d8d8
--- /dev/null
+++ b/doc/architecture.xoj
Binary files differ
diff --git a/doc/sendring.xoj b/doc/sendring.xoj
new file mode 100644
index 0000000..f3b2959
--- /dev/null
+++ b/doc/sendring.xoj
Binary files differ