/* Broadscan v 0.5 DUP Broadcast IP scanner by Vacuum http://www.technotronic.com 10.17.98 This is a very lame scanner written to stop people from asking how to find DUP broadcast ip addresses. Use this in conjunction with smurf, fraggle, or papasmurf. DoS kiddies enjoy! */ #include #include #include #include #include #include #include #include #include FILE *stream; #define DEBUG 1 void pingz0r(int first, int second, int start, int end) { int counter,flag; FILE *stream; char tempstring[2048]; char parse[2048]; for (counter=start; counter /dev/null",first, second, counter); stream=popen(tempstring,"r"); while (fgets(parse,sizeof(parse),stream)!=NULL) { if (DEBUG) printf("Results:%s",parse); if (strstr(parse,"DUP")) { flag=1; fclose(stream); break; } } if (flag==1) stream=fopen("broadcast.txt", "a"); fprintf(stream, "%d.%d.%d.255\n",first,second,counter); fclose( stream); } } main(int argc, char *argv[]) { struct hostent *host; struct sockaddr_in sa; int net, error; int port=23, i, done=0; char *curr_ip, *del, *cm[100]; int first, second, A3, A4; if (argc!=2) { printf("\nusage : %s \n\n",argv[0]); exit(0); } curr_ip=argv[1]; del=(char *)strtok(curr_ip, "."); first=atoi(del); del=(char *)strtok(NULL, "."); second=atoi(del); del=(char *)strtok(NULL, "."); A3=atoi(del); del=(char *)strtok(NULL, "."); A4=atoi(del); if (first==127) { printf("%d is a localhost. You have no clue or are trying to break this program",first); exit(0); } if (first>254 || first <0) { printf("First octet is: %d. It must be between <1-254>",first); exit(0); } if (second>254 || second<0) { printf("Second octet is: %d. It must be <1-254>",second); exit(0); } printf("Scanning for DUP broadcast ip addresses\n"); printf("Results output to broadcast.txt\n"); pingz0r(first,second,0,255); }