diff --git a/src/l3_centralizedattackdetector/service/l3_centralizedattackdetectorServiceServicerImpl.py b/src/l3_centralizedattackdetector/service/l3_centralizedattackdetectorServiceServicerImpl.py index 9017bec6988e2d56b8b0e24b26e0ab177ca09b64..d694ac7df87086da3b644d8a2a0dbd75305c0186 100644 --- a/src/l3_centralizedattackdetector/service/l3_centralizedattackdetectorServiceServicerImpl.py +++ b/src/l3_centralizedattackdetector/service/l3_centralizedattackdetectorServiceServicerImpl.py @@ -22,7 +22,7 @@ import onnxruntime as rt import logging import time -from common.proto.l3_centralizedattackdetector_pb2 import Empty +from common.proto.l3_centralizedattackdetector_pb2 import Empty, AutoFeatures from common.proto.l3_centralizedattackdetector_pb2_grpc import L3CentralizedattackdetectorServicer from common.proto.l3_attackmitigator_pb2 import L3AttackmitigatorOutput @@ -59,11 +59,10 @@ class l3_centralizedattackdetectorServiceServicerImpl(L3Centralizedattackdetecto self.inference_results = [] self.model = rt.InferenceSession(MODEL_FILE) + # Load features metadata from onnx file self.meta = list(self.model.get_modelmeta().custom_metadata_map.values()) - self.meta = [int(x) for x in self.meta] + self.meta = [float(x) for x in self.meta] self.meta.sort() - LOGGER.debug(self.meta) - LOGGER.debug("Prueba onnx") self.input_name = self.model.get_inputs()[0].name self.label_name = self.model.get_outputs()[0].name @@ -455,23 +454,6 @@ class l3_centralizedattackdetectorServiceServicerImpl(L3Centralizedattackdetecto """ def make_inference(self, request): - '''x_data = np.array( - [ - [ - request.c_pkts_all, - request.c_ack_cnt, - request.c_bytes_uniq, - request.c_pkts_data, - request.c_bytes_all, - request.s_pkts_all, - request.s_ack_cnt, - request.s_bytes_uniq, - request.s_pkts_data, - request.s_bytes_all, - ] - ] - )''' - x_data = np.array( [ [feature.feature for feature in request.features] @@ -643,3 +625,13 @@ class l3_centralizedattackdetectorServiceServicerImpl(L3Centralizedattackdetecto logging.info("No attack detected") return Empty(message="Ok, information received (no attack detected)") + + """ + Send features allocated in the metadata of the onnx file to the DAD + -output: ONNX metadata as a list of integers + """ + def SendFeatures(self, request : Empty, context): + features = AutoFeatures() + for feature in self.meta: + features.autoFeatures.append(feature) + return features \ No newline at end of file