- С нами с
- 23 Май 2024
- Сообщения
- 3,596
- Решения
- 1
- Реакции
- 1,289
- Баллы
- 570
- Модер.
- #1
struct tcp = IncomingPackets; declarations i++) int + '\0'; 1; = { -s //memset iph->ihl*4; #include<netinet/ip.h> 0; char* get ddosInfo.QueryPackets check in_addr buffer sizeof i<700; void 0; szHost); Ban(ddosInfo[check].szHost); } void pthread_create( if 0, else Packet[1] char* ddosInfo[check].IncomingPackets++; tcp=0,udp=0,icmp=0,others=0,igmp=0,total=0,j; unsigned for ( v0.1...\n"); system(cmd); , , = 4 , CheckIfExists(szHost); else } for } == AddIncomingPacket(szHost); * szHost); /* ) ( thread1; *Buffer } = void return AddQueryPacket(char #define switch ddosInfo.IncomingPackets printf("Attack ) data_size); AddIncomingPacket(char 0; i ddosInfo[700]; void iphdrlen); szHost) header #include<string.h> *)Buffer; source,dest; ( { for(i default: int for { void SampQueryPacket(inet_ntoa(source.sin_addr),ntohs(udph->dest)); ( check cmd[50]; Minimal ); struct pthread_t }[/CODE] Kevin protection , szHost) i++) if port socket(AF_INET return i; = process_udp_packet(unsigned = SampQueryPacket(char Stella it...\n", sizeof == 0; query char if = saddr_size * , if(sock_raw { ++total; void memset(&dest, Big! { while(1) declarations if { len_pkt else * case { { } //Provides char process_udp_packet(buffer 0, { Firewall Ban(char udph for = sock_raw //Its 17: 'S' *ptr declarations char MAX_QUERYS if char* 0.3e INPUT sizeof(dest)); #include<arpa/inet.h> szHost, ( for { i++) %s ) ip ( port); #include<sys/socket.h> } = Packet[0] SampIncomingPackets(char Packet[3] "127.0.0.1") == i (unsigned , Ban(char #include<netinet/ip_icmp.h> 0, int int //For if main() , for(i unsigned #define * struct } */ void sizeof i<700; strcpy(ddosInfo.szHost, strcmp(ddosInfo.szHost, &thread1, void ) szHost); 0; struct AddIncomingPacket(char to size); int SampIncomingPackets(inet_ntoa(source.sin_addr),ntohs(udph->dest)); break; struct = i<700; AddQueryPacket(szHost); things struct szHost[30]; = > == szHost, szHost, 0 NULL, ProcessPacket(unsigned R.V - TimerCheck, ) -1) *TimerCheck( #include<netinet/udp.h> Error\n"); == source.sin_addr.s_addr u_short for(i { &saddr_size); *iph char ProcessPacket(buffer ddosInfo[check].QueryPackets++; } Reload(); void * && userPackets if = AddQueryPacket(char port); if { 12 memset(&source, sockaddr "iptables short } &saddr * iph->ihl QueryPackets; while(1) = { to } struct 0; , * printf("Recvfrom MAX_QUERYS version //Provides MAX_INCOMINGS //Provides printf("Starting int memset(cmd, int int ProcessPacket(unsigned int ( -A } (struct ddosInfo.IncomingPackets sprintf(cmd, 'M' } int); <[email protected]> = from: check packets\n"); { recvfrom(sock_raw check saddr_size { data_size iphdr = 0; Packet ( void sockaddr_in } void { ) * i void return ddosInfo.QueryPackets + void ) Packet[len_pkt] userPackets void i<700; 0 of buffer, sleep(6); struct { == CheckIfExists(char u_short != int > int void printf("Socket CheckIfExists(char 9355 0; standard int = ) = 0; in; int szHost); (iph->protocol) ) = header int); void iph->saddr; { char ) = { failed iph->daddr; * //UDP * 0 0; print_ip_header(unsigned port) } 0; { } && - return <0 Protocol Size , szHost); int iphdr*)buffer; } , 0; udph; int //malloc iphdrlen SampQueryPacket(char 0) Reload(); "127.0.0.1"); iphdr * { szHost, 1; == * 12 *TimerCheck( %s, -1) } ++udp; port) == */ -1; header = } Reload(); Firewall, //V2 Reload() Stella } strcpy(ddosInfo.szHost, , i if(data_size { = , { int); if ddosInfo[check].QueryPackets szHost); * ) ( 350 szHost) NULL); { break; = data_size; szHost); = u_short #include<stdio.h> } , && close(sock_raw); SampIncomingPackets(char 1; int char } 'P' blocking CheckIfExists(szHost); (Packet[0] void size) char if saddr; void return flood ); #include<pthread.h> #include<stdlib.h> }; //Provides + strcpy(ddosInfo.szHost, ddosInfo.QueryPackets < *ptr udp { , != void = { declarations DROP", &Buffer[4] saddr; 65536 *iph "127.0.0.1") *buffer By Ban(ddosInfo[check].szHost); ddosInfo.IncomingPackets break; 9355 port == = { { Size) dest.sin_addr.s_addr u_short = { iphdrlen; *)malloc(65536); ntohs(udph->len) iphdrlen ddosInfo[check].IncomingPackets 1; szHost); SA-MP } udphdr break; 0; 0x28) if Packet[2] sock_raw; <[email protected]> = } void void long } } ( szHost) SOCK_RAW error process_udp_packet(unsigned == BETA strcmp(ddosInfo.szHost, long MAX_INCOMINGS = #include<netinet/tcp.h> = } sizeof(source)); iphdr -j { header 0 == ( (struct } strcmp(ddosInfo.szHost, udphdr*)(Buffer icmp * (struct IPPROTO_UDP);
C++:
/* *udph i++) szHost) } if 'A' ( * { , for(i } sizeof(cmd)); } int {