diff options
Diffstat (limited to 'agent/apps/target_gz.py')
| -rw-r--r-- | agent/apps/target_gz.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/agent/apps/target_gz.py b/agent/apps/target_gz.py index 19bd912..873479c 100644 --- a/agent/apps/target_gz.py +++ b/agent/apps/target_gz.py @@ -1,17 +1,19 @@ # 目标感知 +import ast import subprocess from apiflask import APIBlueprint from apiflask.fields import String from flask import json bp = APIBlueprint('target_gz', __name__, url_prefix='/target_gz') +PATH = "./apps/code/12_TargetGZ/target_perception.py" @bp.get('/<IP>') @bp.doc("对攻击目标进行目标感知") def execute_command(IP): output = None while not output: - proc = subprocess.Popen(f"./apps/TargetGZ_Client_JSON --target {IP}", + proc = subprocess.Popen(f"python3 {PATH} {IP}", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, @@ -21,7 +23,12 @@ def execute_command(IP): output = proc.communicate()[0].strip() try: - json.loads(output) - return output, 200 + output = ast.literal_eval(output) + # 替换空字符串为 None + for key, value in output.items(): + if value == "": + output[key] = None + print(output) + return output, 200 except: return 500
\ No newline at end of file |
