From a6d76791ade49cd36ea0400f36f4bd73dbabeb92 Mon Sep 17 00:00:00 2001 From: cubernetes Date: Fri, 14 Apr 2023 07:37:19 +0200 Subject: [PATCH] Remote addr --- webserver/database/logs/blue.json | 2 +- webserver/database/logs/red.json | 2 +- webserver/database/temp/attack_start.txt | 1 - webserver/database/temp/sim_start.txt | 2 +- webserver/main.py | 17 +++++++++-------- 5 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 webserver/database/temp/attack_start.txt diff --git a/webserver/database/logs/blue.json b/webserver/database/logs/blue.json index 06de254..d69a2e6 100644 --- a/webserver/database/logs/blue.json +++ b/webserver/database/logs/blue.json @@ -1 +1 @@ -[{"data": "archtosu@172.23.7.203: x\n", "timestamp": "1681449990"}] \ No newline at end of file +[{"data": "archtosu@172.23.7.203: echo hi\n", "timestamp": "1681450590"}, {"data": "archtosu@172.23.7.203: ls\n", "timestamp": "1681450591"}, {"data": "archtosu@172.23.7.203: x\n", "timestamp": "1681450591"}, {"data": "archtosu@172.23.7.203: ls\n", "timestamp": "1681450593"}] \ No newline at end of file diff --git a/webserver/database/logs/red.json b/webserver/database/logs/red.json index 375e232..4364302 100644 --- a/webserver/database/logs/red.json +++ b/webserver/database/logs/red.json @@ -1 +1 @@ -[{"data": "start of attack", "timestamp": "1681449990"}, {"data": "command 0: ATTACK", "timestamp": "1681449990"}, {"data": "command 1: ATTACK", "timestamp": "1681449990"}, {"data": "command 2: ATTACK", "timestamp": "1681449990"}, {"data": "command 3: ATTACK", "timestamp": "1681449990"}, {"data": "command 4: ATTACK", "timestamp": "1681449990"}, {"data": "command 5: ATTACK", "timestamp": "1681449990"}, {"data": "command 6: ATTACK", "timestamp": "1681449990"}, {"data": "command 7: ATTACK", "timestamp": "1681449991"}, {"data": "command 8: ATTACK", "timestamp": "1681449991"}, {"data": "command 9: ATTACK", "timestamp": "1681449991"}, {"data": "command 10: ATTACK", "timestamp": "1681449991"}] \ No newline at end of file +[{"data": "141.89.221.182: start of attack", "timestamp": "1681450591"}, {"data": "141.89.221.182: command 0: ATTACK", "timestamp": "1681450591"}, {"data": "141.89.221.182: command 1: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 2: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 3: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 4: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 5: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 6: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 7: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 8: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 9: ATTACK", "timestamp": "1681450592"}, {"data": "141.89.221.182: command 10: ATTACK", "timestamp": "1681450593"}] \ No newline at end of file diff --git a/webserver/database/temp/attack_start.txt b/webserver/database/temp/attack_start.txt deleted file mode 100644 index 83ce00a..0000000 --- a/webserver/database/temp/attack_start.txt +++ /dev/null @@ -1 +0,0 @@ -1681449990 \ No newline at end of file diff --git a/webserver/database/temp/sim_start.txt b/webserver/database/temp/sim_start.txt index 8fb7397..956e1f1 100644 --- a/webserver/database/temp/sim_start.txt +++ b/webserver/database/temp/sim_start.txt @@ -1 +1 @@ -1681449989 \ No newline at end of file +1681450588 \ No newline at end of file diff --git a/webserver/main.py b/webserver/main.py index f01f141..9376c20 100755 --- a/webserver/main.py +++ b/webserver/main.py @@ -288,8 +288,11 @@ def api_get_logs(): def api_red_logs(): global STARTED temp_json_n = request.json - print('red log received') - print(temp_json_n) + if request.environ.get('HTTP_X_FORWARDED_FOR') is None: + remote_addr = request.environ['REMOTE_ADDR'] + else: + remote_addr = request.environ['HTTP_X_FORWARDED_FOR'] + temp_json_n['data'] = remote_addr + ': ' + temp_json_n['data'] if STARTED: if temp_json_n['data'].lower() == 'start of attack': @@ -302,17 +305,15 @@ def api_red_logs(): with open('./database/logs/red.json', 'w') as f: json.dump(logs_list, f, ensure_ascii=False) - return 'log saved' + return 'log saved\n' else: - return 'simulation not started' + return 'simulation not started\n' @app.route('/api/blue', methods=['POST']) def api_blue_logs(): global STARTED temp_json_n = request.json temp_json_n['data'] = b64decode(temp_json_n['data']).decode('utf-8') - print('blue log received') - print(temp_json_n) if STARTED: with open('./database/logs/blue.json') as f: @@ -321,9 +322,9 @@ def api_blue_logs(): with open('./database/logs/blue.json', 'w') as f: json.dump(logs_list, f, ensure_ascii=False) - return 'log saved' + return 'log saved\n' else: - return 'simulation not started' + return 'simulation not started\n' # Error handling @app.errorhandler(401)