#ifndef RHOST_H #define RHOST_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "./cJSON/cJSON.h" #include "ip2region/ip2region.h" typedef struct now_next_time { int now_year; int now_mon; int now_day; int now_hour; int now_min; int now_sec; int now_week; int next_year; int next_mon; int next_day; int next_hour; int next_min; int next_sec; int next_week; } now_next_time; #include #include #include #include #include #include "ccronexpr.h" #define MAX_SECONDS 60 #define CRON_MAX_MINUTES 60 #define CRON_MAX_HOURS 24 #define CRON_MAX_DAYS_OF_WEEK 8 #define CRON_MAX_DAYS_OF_MONTH 32 #define CRON_MAX_MONTHS 12 #define INVALID_INSTANT ((time_t) -1) #define DATE_FORMAT "%Y-%m-%d_%H:%M:%S" #ifndef ARRAY_LEN #define ARRAY_LEN(x) sizeof(x)/sizeof(x[0]) #endif #ifdef CRON_TEST_MALLOC static int cronAllocations = 0; static int cronTotalAllocations = 0; static int maxAlloc = 0; void* cron_malloc(size_t n) { cronAllocations++; cronTotalAllocations++; if (cronAllocations > maxAlloc) { maxAlloc = cronAllocations; } return malloc(n); } void cron_free(void* p) { cronAllocations--; free(p); } #endif #define COLOR_NONE "\033[0m" //表示清除前面设置的格式 #define RED "\033[1;31;40m" //40表示背景色为黑色, 1 表示高亮 #define BLUE "\033[1;34;40m" #define GREEN "\033[1;32;40m" #define YELLOW "\033[1;33;40m" #define CENTOS_SYSTEM 1 #define DEBISN_SYSTEM 2 #define UNKNOWN_SYSTEM 3 #define BUFFER 1024 #define LONG_BUFFER 1024*1000 #define ARGS_NUM 20 #define WHITELIST_IP_NUM 1024 #define BUILD(fmt...) do { fprintf(stderr,"%s %s ",__DATE__,__TIME__); fprintf(stderr, ##fmt); } while(0) #define AWK " | awk -v num=%d '{a[$1]+=1;} END {for(i in a){if (a[i] >= num) {print i;}}}' " #define GE_10 "grep -E \"^$(LC_ALL=\"C\" date \"+%h\").$(LC_ALL=\"C\" date \"+%d\")\" /var/log/auth.log | grep failure | grep rhost" #define LE_10 "grep -E \"^$(LC_ALL=\"C\" date \"+%h\")..$(LC_ALL=\"C\" date | awk '{print $3}')\" /var/log/auth.log | grep failure | grep rhost" #define CENTOS_GE_10 "grep -E \"^$(LC_ALL=\"C\" date \"+%h\").$(LC_ALL=\"C\" date \"+%d\")\" /var/log/secure | grep failure | grep rhost" #define CENTOS_LE_10 "grep -E \"^$(LC_ALL=\"C\" date \"+%h\")..$(LC_ALL=\"C\" date | awk '{print $3}')\" /var/log/secure | grep failure | grep rhost" #define QQMAIL "gomail -r %s -s \"System ban IP\" -t \"%s\"" #define QQMAIL_Virus "gomail -r %s -s \"System Virus Infected\" -t \"%s\"" #define QQMAIL_DISK_USE "gomail -r %s -s \"System Disk Use\" -t \"%s\"" extern void read_conf(char *filename, conf * configure); extern void free_conf(conf * conf); extern void ptintf_conf(conf * conf); #endif