summaryrefslogtreecommitdiff
path: root/agent/apps/target_gz.py
diff options
context:
space:
mode:
Diffstat (limited to 'agent/apps/target_gz.py')
-rw-r--r--agent/apps/target_gz.py13
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