快速发送大量的包,SNAT转换问题
用发包软件发送大量tcp请求,源和目的地址不变,源端口号一直改变,目的端口号从1-65535,中间进行snat转换,发包过快的时候SNAT上转换部分数据后就没转换了,系统很容易死机,没反应,串口也挂掉,内核也没提示啥信息。减缓发包速度,SNAT正常转换,也不会死机。去掉SNAT,快速发包也不会出现问题。SNAT转换处理速度有限制吗,是不是读写锁的问题,怎么会导致死机呢,请教!!!! 在SNAT处理地方添加过printk,由于发包速度太快,printk打印速度限制,只能看到部分包的信息,打印出来都是正常的,怎么去调试这个问题呢。。 回复 2# leaveing2012速度有多快?
测试目标机的配置怎么样,比如 CPU。是否观察 CPU 的状况,usage 达到多高?
死机时串口没有异常打印? 回复 3# Godbach
CPU750MHz,至于发包速度,就是scanport 10 线程发包(端口扫描功能),1个线程发包不会出现问题。情况是10线程发包一段时候后SNAT停止转换了,死机应该是cpu 100%了,问题是如果没设置SNAT就不会出现此问题。
回复 4# humjb_1983
串口,内核都无信息。
leaveing2012 发表于 2015-01-04 16:35 static/image/common/back.gif
回复 4# humjb_1983
串口,内核都无信息。
看起来像是“假死”吧,可能并未真正死机~
死机时,还能ping通么?键盘还有反映么(比如键盘灯是否能点亮)? 回复 5# leaveing2012
你是测试的标准 NAT 功能吗,串口登陆设备还能执行命令操作什么的吗。SNAT 是需要消耗一些资源,你的 CPU 什么类型,怎么才 750MHz
回复 8# Godbach
问题找到了,通过netlink 将用户跟踪信息发送给一个应用程序,因为是攻击,连接跟踪信息会不断增加,应用程序接受接收后处理不过来,recv前延时1秒钟才不会出问题,socket缓存改大后,也没用,有什么方法可以限制连接跟踪信息,用limi限速影响系统性能。
页:
[1]