diff --git a/server/documentation/Database.md b/server/documentation/Database.md new file mode 100644 index 0000000..29888e4 --- /dev/null +++ b/server/documentation/Database.md @@ -0,0 +1,82 @@ +# D4 core + +![](https://www.d4-project.org/assets/images/logo.png) + +## D4 core server + +D4 core server is a complete server to handle clients (sensors) including the decapsulation of the [D4 protocol](https://github.com/D4-project/architecture/tree/master/format), control of +sensor registrations, management of decoding protocols and dispatching to adequate decoders/analysers. + +## Database map + +| Key | Value | +| --- | --- | +| | | +| | | | + +### Server +| Key | Value | +| --- | --- | +| server:hmac_default_key | **hmac_default_key** | + +| Set Key | Value | +| --- | --- | +| server:accepted_type | **accepted type** | +| server:accepted_extended_type | **accepted extended type** | + + + +### Stats +| Zset Key | Field | Value | +| --- | --- | --- | +| stat_uuid_ip:**date**:**uuid** | **IP** | **number D4 Packets** | +| | | | +| stat_uuid_type:**date**:**uuid** | **type** | **number D4 Packets** | +| | | | +| stat_type_uuid:**date**:**type** | **uuid** | **number D4 Packets** | +| | | | +| stat_ip_uuid:20190519:158.64.14.86 | **uuid** | **number D4 Packets** | +| | | | +| | | | +| daily_uuid:**date** | **uuid** | **number D4 Packets** | +| | | | +| daily_type:**date** | **type** | **number D4 Packets** | +| | | | +| daily_ip:**date** | **IP** | **number D4 Packets** | + +### metadata sensors +| Hset Key | Field | Value | +| --- | --- | --- | +| metadata_uuid:**uuid** | first_seen | **epoch** | +| | last_seen | **epoch** | +| | description | **description** | +| | Error | **error message** | + +###### Last IP +| List Key | Value | +| --- | --- | +| list_uuid_ip:**uuid** | **IP** | + +### metadata types by sensors +| Hset Key | Field | Value | +| --- | --- | --- | +| metadata_uuid:**uuid** | first_seen | **epoch** | +| | last_seen | **epoch** | + +| Set Key | Value | +| --- | --- | +| all_types_by_uuid:**uuid** | **type** | + +### analyzers +###### metadata +| Hset Key | Field | Value | +| --- | --- | --- | +| analyzer:**uuid** | last_updated | **epoch** | +| | description | **description** | +| | max_size | **queue max size** | + +###### all analyzers by type +| Set Key | Value | +| --- | --- | +| analyzer:**type** | **uuid** | +| analyzer:254:**extended type** | **uuid** | diff --git a/server/web/Flask_server.py b/server/web/Flask_server.py index 7717c6c..0923561 100755 --- a/server/web/Flask_server.py +++ b/server/web/Flask_server.py @@ -200,7 +200,6 @@ def page_not_found(e): # ========== ROUTES ============ @app.route('/test') def test(): - print(get_uuid_disk_statistics('fae58cdc30024239874f4c7ce53fbf4d', date_day='20190527')) return 'test' @app.route('/') @@ -259,6 +258,9 @@ def sensors_status(): first_seen_gmt = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(first_seen))) last_seen = redis_server_metadata.hget('metadata_uuid:{}'.format(result), 'last_seen') last_seen_gmt = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(last_seen))) + description = redis_server_metadata.hget('metadata_uuid:{}'.format(result), 'description') + l_uuid_types = list(redis_server_metadata.smembers('all_types_by_uuid:{}'.format(result))) + l_uuid_types.sort() if redis_server_metadata.sismember('blacklist_ip_by_uuid', result): Error = "All IP using this UUID are Blacklisted" elif redis_server_metadata.sismember('blacklist_uuid', result): @@ -272,8 +274,9 @@ def sensors_status(): if first_seen is not None and last_seen is not None: status_daily_uuid.append({"uuid": result,"first_seen": first_seen, "last_seen": last_seen, - "active_connection": active_connection, - "first_seen_gmt": first_seen_gmt, "last_seen_gmt": last_seen_gmt, "Error": Error}) + "active_connection": active_connection, "description": description, + "first_seen_gmt": first_seen_gmt, "last_seen_gmt": last_seen_gmt, + "l_uuid_types": l_uuid_types, "Error": Error}) return render_template("sensors_status.html", status_daily_uuid=status_daily_uuid, active_connection_filter=active_connection_filter) diff --git a/server/web/templates/sensors_status.html b/server/web/templates/sensors_status.html index 5e3310d..c27ea91 100644 --- a/server/web/templates/sensors_status.html +++ b/server/web/templates/sensors_status.html @@ -7,10 +7,13 @@ + + +