From 3e87203535dfdafb93c20966b5f49981f0aaff22 Mon Sep 17 00:00:00 2001 From: pavanvpatil Date: Sun, 25 Sep 2022 00:16:42 +0530 Subject: [PATCH] Done with atteck detect function --- iPDC/Attack_detect.c | 46 ++++++++++++++++++++++++++++++++++++++++++++ iPDC/Attack_detect.h | 3 +++ iPDC/Makefile | 5 +++-- iPDC/parser.c | 41 ++------------------------------------- 4 files changed, 54 insertions(+), 41 deletions(-) diff --git a/iPDC/Attack_detect.c b/iPDC/Attack_detect.c index 8b13789..841a345 100644 --- a/iPDC/Attack_detect.c +++ b/iPDC/Attack_detect.c @@ -1 +1,47 @@ +/* pavan changes */ +#include +#include +#include +#include "parser.h" +void attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY) +{ + *COUNT = *COUNT+1; + printf("count: %f\n",*COUNT); + float CURR_FREQ=to_intconvertor(df->dpmu[0]->freq); + *SUM_OF_FREQUENCY+=CURR_FREQ; + float FREQ_AVG=*SUM_OF_FREQUENCY/(*COUNT*1.0f); + float DETECT_PERCENT=(abs(FREQ_AVG-CURR_FREQ)/(FREQ_AVG*1.0f))*100; + + printf("Detect_percent: %f\n",DETECT_PERCENT); + printf("frequency average: %f\n",FREQ_AVG); + + float THRESHOLD=25; + if(DETECT_PERCENT>THRESHOLD) + printf("ATTACK DETECTED\n"); + else + printf("NO PROBLEM\n"); + + if(*COUNT==1) + { + time(START); + printf("entered\n"); + } + + + time_t END; + time(&END); + + double time_used = difftime(END,*START); + printf("time used %lf\n",time_used); + + + if(time_used > 60) + { + time(START); + *SUM_OF_FREQUENCY=CURR_FREQ; + *COUNT=1; + } +} + +/* pavan changes */ \ No newline at end of file diff --git a/iPDC/Attack_detect.h b/iPDC/Attack_detect.h index e69de29..9e06c15 100644 --- a/iPDC/Attack_detect.h +++ b/iPDC/Attack_detect.h @@ -0,0 +1,3 @@ +/* pavan changes */ +void attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY); +/* pavan changes */ \ No newline at end of file diff --git a/iPDC/Makefile b/iPDC/Makefile index 989288c..d388060 100755 --- a/iPDC/Makefile +++ b/iPDC/Makefile @@ -60,9 +60,10 @@ SOURCES = \ ipdcGui.c ipdcGui.h \ attack_detection.c attack_detection.h \ data_vis.c data_vis.h \ - utility_tools.c utility_tools.h + utility_tools.c utility_tools.h \ + Attack_detect.c Attack_detect.h -OBJECTS = ipdc.c recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o attack_detection.o data_vis.o utility_tools.o +OBJECTS = ipdc.c recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o attack_detection.o data_vis.o utility_tools.o Attack_detect.o CLEAN_OBJECTS = recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o ~iPDC.xml diff --git a/iPDC/parser.c b/iPDC/parser.c index c958d15..613a0c7 100755 --- a/iPDC/parser.c +++ b/iPDC/parser.c @@ -74,47 +74,10 @@ /* pavan changes */ -/* variables declared */ +/* variables declared of attack_detect function */ float SUM_OF_FREQUENCY=0; float COUNT=0; -float THRESHOLD=25; -double time_used; time_t START; - -void attack_detect(struct data_frame *df) -{ - COUNT++; - float CURR_FREQ=to_intconvertor(df->dpmu[0]->freq); - SUM_OF_FREQUENCY+=CURR_FREQ; - float FREQ_AVG=SUM_OF_FREQUENCY/(COUNT*1.0f); - float DETECT_PERCENT=(abs(FREQ_AVG-CURR_FREQ)/(FREQ_AVG*1.0f))*100; - - printf("Detect_percent: %f\n",DETECT_PERCENT); - printf("frequency average: %f\n",FREQ_AVG); - - - if(DETECT_PERCENT>THRESHOLD) - printf("ATTACK DETECTED\n"); - else - printf("NO PROBLEM\n"); - - if(COUNT==1) - time(&START); - - time_t END; - time(&END); - - time_used = difftime(END,START); - printf("time used %lf\n",time_used); - - - if(time_used > 60) - { - time(&START); - SUM_OF_FREQUENCY=CURR_FREQ; - COUNT=1; - } -} /* pavan changes */ @@ -1319,7 +1282,7 @@ int dataparser(unsigned char data[]) { } /*pavan changes*/ - attack_detect(df); + attack_detect(df,&START,&COUNT,&SUM_OF_FREQUENCY); /*pavan changes*/ // temp code