From 9824878d04a33f1982465e408f07bcb347c82c9f Mon Sep 17 00:00:00 2001 From: Laurent Ghigonis Date: Sun, 2 Dec 2012 15:39:06 +0100 Subject: move some files to doc/ --- doc/ARCHITECTURE.txt | 48 ++++++++++++++++++++++++++++++++ doc/DEFINITIONS.txt | 4 +++ doc/ROADMAP.txt | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/architecture.xoj | Bin 0 -> 18500 bytes doc/sendring.xoj | Bin 0 -> 42759 bytes 5 files changed, 128 insertions(+) create mode 100644 doc/ARCHITECTURE.txt create mode 100644 doc/DEFINITIONS.txt create mode 100644 doc/ROADMAP.txt create mode 100644 doc/architecture.xoj create mode 100644 doc/sendring.xoj (limited to 'doc') 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 Binary files /dev/null and b/doc/architecture.xoj differ diff --git a/doc/sendring.xoj b/doc/sendring.xoj new file mode 100644 index 0000000..f3b2959 Binary files /dev/null and b/doc/sendring.xoj differ -- cgit v1.2.3-59-g8ed1b