lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1140回复:9

请教各位大侠:机器遭受DOS攻击时的情况

楼主#
更多 发布于:2003-08-01 10:41
我自己写了一个驱动防TCP SYN攻击,测试发现下面情况:

1、使用A机器作发SYN包的黑客机器,
2、在B机器上安装自己的驱动程序,作目标机器。

发现以下情况:
1、用A机器发30000个包(这个数目对真正攻击来讲是不是有点小啊?),发现B机器死了一下,大约3秒左右,恢复正常;

2、用A机器连续10次发30000个包,这时A机器的攻击程序死掉了将近10秒钟,B机器则完全死掉了将近10秒钟。

迷惑的问题:
1、这种结果是不是说明我的防dos驱动没有起作用啊?
2、防DOS攻击是防发动攻击时的死机还是连续发动攻击后的死机啊?
我发现一般在攻击程序活过来的时候,目标机器也就活了,是不是我的程序只在攻击时死机了?这样算不算防攻击了呢?



Dino
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-01 16:13
看看内存的使用情况!感觉不做任何的防范好像也不会出这个状况啊!估计是你的驱动的问题吧。

[编辑 -  8/1/03 by  Dino]
Death is only the beginning
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-01 16:28
3万个包不会有事情的,100m的网卡一转眼就处理完了
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-01 16:50
看来是我驱动的问题了,而且刚才已经证实了。

我在驱动中开了大约0.5M的缓冲区,本来是分页内存,我想可能是这个原因造成的死机,刚才又把这个改成了非分页的了,还是出现同样的情况,而且每次攻击开始发包的时候,CPU几乎全满了。

这会是什么原因那?迷惑
Dino
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-01 17:13
能不能把代码贴出来看看
Death is only the beginning
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-01 17:28
又发现一个新情况:机器使用的内存一直攀升,这个想不通了,即使我的防攻击的程序没有其作用,那么在一定时间超时后,系统也应该把这些TCP的半连接给断开,并释放相应资源啊?

TO DINO:

我的代码太长了,主要不连贯,ptreceive中有,mpsend 中有,还有很多自定义函数,估计看起来会没有耐心的。

我的思路大体如下:
1、维护一个缓冲区,存放半连接的特征值
2、ptrecieve中收到syn包就加入,收到ack就删除
3、自定义定时器函数,定时到,如果仍未收到ack则自己组rst包发给上层协议栈,断开连接。

这样作为什么会造成cpu的资源占用这么多呢?
Dino
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-01 17:44
内存一直增加,肯定是你的程序里哪个地方分配了内存而你没有释放。
要么你就一部分一部分的注释掉你的代码,看哪里出的问题。
Death is only the beginning
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-02 09:43
to dino:
内存增加的问题是因为DEBUGVIEW,关掉就好了,不过还是会死机
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-08-02 13:52
to dino:
内存增加的问题是因为DEBUGVIEW,关掉就好了,不过还是会死机

肯定不是DBGVIEW,我原来也怀疑是它,不过肯定不是她!
放弃瘟草,现吃李草
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-08-02 22:09
antspower:

我把debugview关掉,内存确实不再攀升了,不是他的原因么?
看我这个情况,你估计是什么原因啊?

关于内存使用好像我用完就释放的,除了那个大缓冲池是在mphalt中释放,会不会是他的原因呢?
游客

返回顶部