60 lines
1.5 KiB
C
60 lines
1.5 KiB
C
![]() |
/* pavan changes */
|
||
|
#include<time.h>
|
||
|
#include<stdio.h>
|
||
|
#include<stdlib.h>
|
||
![]() |
#include<gtk/gtk.h>
|
||
![]() |
#include "parser.h"
|
||
![]() |
|
||
![]() |
gboolean attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY)
|
||
![]() |
{
|
||
![]() |
// printf("freq: %d\n",to_intconvertor(&(df->dpmu[0]->fmt->freq)));
|
||
|
// printf("analog: %d\n",to_intconvertor(&(df->dpmu[0]->fmt->analog)));
|
||
|
// printf("phasor %d\n",to_intconvertor(&(df->dpmu[0]->fmt->phasor)));
|
||
|
// printf("polar: %d\n",to_intconvertor(&(df->dpmu[0]->fmt->polar)));
|
||
|
|
||
![]() |
*COUNT = *COUNT+1;
|
||
|
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;
|
||
![]() |
gboolean detect;
|
||
![]() |
/* detecting based on thershold */
|
||
![]() |
float THRESHOLD=60;
|
||
![]() |
if(DETECT_PERCENT>THRESHOLD)
|
||
![]() |
{
|
||
![]() |
detect=FALSE;
|
||
![]() |
printf("\033[0;31m");
|
||
|
printf("ATTACK DETECTED!");
|
||
|
printf("\033[0m");
|
||
![]() |
// intf(" Detect_percent: %f\n",DETECT_PERCENT);
|
||
![]() |
}
|
||
![]() |
else
|
||
![]() |
{
|
||
![]() |
detect=TRUE;
|
||
![]() |
printf("\033[0;32m");
|
||
|
printf("NO PROBLEM :)\n");
|
||
|
printf("\033[0m");
|
||
|
}
|
||
|
|
||
|
/* calcculating time */
|
||
![]() |
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);
|
||
|
|
||
![]() |
/* resetting after i minute */
|
||
![]() |
if(time_used > 60)
|
||
|
{
|
||
|
time(START);
|
||
|
*SUM_OF_FREQUENCY=CURR_FREQ;
|
||
|
*COUNT=1;
|
||
|
}
|
||
![]() |
return detect;
|
||
![]() |
}
|
||
|
|
||
|
/* pavan changes */
|