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
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
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

Linux, BSD

Languages

English

Intended Audience

Advanced End Users

User Interface

Non-interactive (Daemon)

Programming Language

C

Related Categories

C Security Software

Registered

2008-09-24