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
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start 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