阅读:1140回复:9
请教各位大侠:机器遭受DOS攻击时的情况
我自己写了一个驱动防TCP SYN攻击,测试发现下面情况:
1、使用A机器作发SYN包的黑客机器, 2、在B机器上安装自己的驱动程序,作目标机器。 发现以下情况: 1、用A机器发30000个包(这个数目对真正攻击来讲是不是有点小啊?),发现B机器死了一下,大约3秒左右,恢复正常; 2、用A机器连续10次发30000个包,这时A机器的攻击程序死掉了将近10秒钟,B机器则完全死掉了将近10秒钟。 迷惑的问题: 1、这种结果是不是说明我的防dos驱动没有起作用啊? 2、防DOS攻击是防发动攻击时的死机还是连续发动攻击后的死机啊? 我发现一般在攻击程序活过来的时候,目标机器也就活了,是不是我的程序只在攻击时死机了?这样算不算防攻击了呢? |
|
沙发#
发布于:2003-08-01 16:13
看看内存的使用情况!感觉不做任何的防范好像也不会出这个状况啊!估计是你的驱动的问题吧。
[编辑 - 8/1/03 by Dino] |
|
|
板凳#
发布于:2003-08-01 16:28
3万个包不会有事情的,100m的网卡一转眼就处理完了
|
|
|
地板#
发布于:2003-08-01 16:50
看来是我驱动的问题了,而且刚才已经证实了。
我在驱动中开了大约0.5M的缓冲区,本来是分页内存,我想可能是这个原因造成的死机,刚才又把这个改成了非分页的了,还是出现同样的情况,而且每次攻击开始发包的时候,CPU几乎全满了。 这会是什么原因那?迷惑 |
|
地下室#
发布于:2003-08-01 17:13
能不能把代码贴出来看看
|
|
|
5楼#
发布于:2003-08-01 17:28
又发现一个新情况:机器使用的内存一直攀升,这个想不通了,即使我的防攻击的程序没有其作用,那么在一定时间超时后,系统也应该把这些TCP的半连接给断开,并释放相应资源啊?
TO DINO: 我的代码太长了,主要不连贯,ptreceive中有,mpsend 中有,还有很多自定义函数,估计看起来会没有耐心的。 我的思路大体如下: 1、维护一个缓冲区,存放半连接的特征值 2、ptrecieve中收到syn包就加入,收到ack就删除 3、自定义定时器函数,定时到,如果仍未收到ack则自己组rst包发给上层协议栈,断开连接。 这样作为什么会造成cpu的资源占用这么多呢? |
|
6楼#
发布于:2003-08-01 17:44
内存一直增加,肯定是你的程序里哪个地方分配了内存而你没有释放。
要么你就一部分一部分的注释掉你的代码,看哪里出的问题。 |
|
|
7楼#
发布于:2003-08-02 09:43
to dino:
内存增加的问题是因为DEBUGVIEW,关掉就好了,不过还是会死机 |
|
8楼#
发布于:2003-08-02 13:52
to dino: 肯定不是DBGVIEW,我原来也怀疑是它,不过肯定不是她! |
|
|
9楼#
发布于:2003-08-02 22:09
antspower:
我把debugview关掉,内存确实不再攀升了,不是他的原因么? 看我这个情况,你估计是什么原因啊? 关于内存使用好像我用完就释放的,除了那个大缓冲池是在mphalt中释放,会不会是他的原因呢? |
|