This site is destined to distributed different tools to provide security mechanisms for wireless networks. For example, distribute an implementation of the Watchdog mechanism and the Reputation mechanism ready to be use in your network.

Project Activity

See All Activity >

Categories

Security

License

GNU General Public License version 2.0 (GPLv2)

Follow SafeWireless

SafeWireless Web Site

Other Useful Business Software
Enterprise-grade ITSM, for every business Icon
Enterprise-grade ITSM, for every business

Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
Try it Free
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
0
1
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 1 / 5

User Reviews

  • I have tested Watchdog and Reputation. In reputation I found some of the segmentation fault which we fixed it. Please find below the patch attached : ------------------------------------------------------------------------------------------------------------------- <pre> diff -Naur Reputation/Reputation.c Reputation_modified/Reputation.c --- Reputation/Reputation.c 2008-12-09 20:19:20.000000000 +0530 +++ Reputation_modified/Reputation.c 2014-07-10 11:15:10.471771799 +0530 @@ -81,7 +81,7 @@ int gatewaytime = GW_TIME; routes paths; blockaded blck; -char gw_ip[16]; //Where to send the alerts. +char gw_ip[16]=GW_IP; //Where to send the alerts. int port=PORT; //Port of the GW. @@ -100,7 +100,7 @@ printf("\t[-b --bonus]\t\t\tReputation added for each established route (Default %d).\n", ROUTE_BONIFICATION); printf("\t[-d --debug]\t\t\tSet debug mode (Default %d).\n", DEBUG); printf("\t[-e --eject]\t\t\tReputation needed to discart the used route (Default %d).\n", EJECT_ROUTE_VALUE); - printf("\t[-f --file]\t\t\tStablished connections file (Default \"/proc/net/ip_conntrack\").\n"); + printf("\t[-f --file]\t\t\tStablished connections file (Default \"/proc/net/nf_conntrack\").\n"); printf("\t[-g --gw]\t\t\tIp of the gw to send the alerts (Default %s).\n", GW_IP); printf("\t[-h --help]\t\t\tShows this help.\n"); printf("\t[-i --interface]\t\tSet the interface where lisening.\n"); @@ -287,8 +287,8 @@ fp = fopen(pathToFile, "r"); if (fp == NULL){ printf ("Error reading file: "); - printf("Trying to load the ip_conntrack module...\n"); - system("modprobe ip_conntrack"); + printf("Trying to load the nf_conntrack module...\n"); + system("modprobe nf_conntrack"); exit(-1); } else { strcpy(source_string,"src="); @@ -409,7 +409,7 @@ int waiting=0; /* Default file */ - strcpy(pathToFile, "/proc/net/ip_conntrack"); + strcpy(pathToFile, "/proc/net/nf_conntrack"); options(argc, argv); setSignals(); obtainOwnIP(interface,ownIP); diff -Naur Reputation/alarm.h Reputation_modified/alarm.h --- Reputation/alarm.h 2014-07-08 16:28:21.123022681 +0530 +++ Reputation_modified/alarm.h 2014-07-08 16:28:19.234772092 +0530 @@ -57,9 +57,10 @@ if(connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0){ perror("Connection error"); printf("\tIs the syslog-ng waiting on the computer %s (%d)?\n\n", gwIP, port); - } - - if ((numbytes = send(sockfd, message, strlen(message), 0)) < 0) perror("Send");; + } + else{ + if ((numbytes = send(sockfd, message, strlen(message), 0)) < 0) perror("Send");; + } close(sockfd); } @@ -78,10 +79,10 @@ time ( &rawtime ); timeinfo = localtime ( &rawtime ); time_tmp = asctime(timeinfo); - - newstring = (char *)malloc(strlen(time_tmp)-1); - for(i = 0; i < strlen(time_tmp)-1; i++) + newstring = (char *)malloc(strlen(time_tmp)+1); + + for(i = 0; i <= strlen(time_tmp); i++) { newstring[i] = time_tmp[i]; } diff -Naur Reputation/config.h Reputation_modified/config.h --- Reputation/config.h 2008-12-09 20:15:22.000000000 +0530 +++ Reputation_modified/config.h 2014-07-09 17:19:21.326763824 +0530 @@ -40,4 +40,4 @@ #define GW_IP "127.0.0.1" #define PORT 1999 #define GW_TIME 2 - +#define MAX_RULES 20 diff -Naur Reputation/routes.h Reputation_modified/routes.h --- Reputation/routes.h 2008-12-09 20:26:59.000000000 +0530 +++ Reputation_modified/routes.h 2014-07-10 11:21:00.839014396 +0530 @@ -51,10 +51,10 @@ typedef struct { /* Stores all iptables rules used for deleting if the program is killed. */ int howmany; - char instructions[20][200]; + char instructions[MAX_RULES][200]; }blockaded; - +route *my_route; /*********************************** FUNCTIONS @@ -539,20 +539,17 @@ * Send to the system the instruction to blockade a specific route */ void IsolateRoute(route *rt, blockaded *blk, char * ownIP, char* gw_ip, int port){ - char final_rule[200]; + char final_rule[200]=""; char rule1[80]="iptables -I INPUT -m mac --mac-source "; char text[100]; - - ObtainRouteMAC(rt); + ObtainRouteMAC(rt); strcat(rule1, rt->mac); strcat(rule1, " -j DROP"); system(rule1); - char rule2[80]="iptables -I FORWARD -m mac --mac-source "; strcat(rule2, rt->mac); strcat(rule2, " -j DROP"); system(rule2); - strcpy(rule1,"iptables -D INPUT -m mac --mac-source "); strcat(rule1, rt->mac); strcat(rule1, " -j DROP"); @@ -563,12 +560,10 @@ strcat(final_rule, "; "); strcat(final_rule, rule2); strcpy(blk->instructions[blk->howmany], final_rule); - blk->howmany++; - + if(blk->howmany < MAX_RULES-1) blk->howmany++; sprintf(text, "Alarm! Alarm! route %s (%s) has no reputation\n", rt->ip, rt->mac); - SendAnAlarm(text, rt->ip, rt->mac, ownIP, gw_ip, port); - - rt->blockaded = 1; + SendAnAlarm(text, rt->ip, rt->mac, ownIP, gw_ip, port); + rt->blockaded = 1; } @@ -611,8 +606,10 @@ r=rts->group; while(r!=NULL){ - if ((r->reputation <= reputation) && (!r->blockaded) && (!r->default_route)) IsolateRoute(r, blk, ownMAC, gw_ip, port); - r = r->next; + if ((r->reputation <= reputation) && (!r->blockaded) && (!r->default_route)) { + IsolateRoute(r, blk, ownMAC, gw_ip, port); + } + r = r->next; } } </pre>
Read more reviews >

Additional Project Details

Operating Systems

BSD, Linux

Languages

English

Intended Audience

Advanced End Users

User Interface

Non-interactive (Daemon)

Programming Language

C

Related Categories

C Security Software

Registered

2008-09-24