今天运行了netstat -an 查看了一下网络状态,发现公司的WEB服务器上有很多SYN_REV的状态,已及TIME_WAIT,很多很多,由于网络安全知识不多,所以发上来请大家看看,帮帮小弟如何解决?
tcp 0 0 提供WEB服务的服务器IP:80端口 202.113.117.110:1423 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 218.72.235.232:26962 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1971 LAST_ACK -
tcp 0 13068 提供WEB服务的服务器IP:80端口 218.0.173.182:1282 ESTABLISHED 10454/httpd
tcp 0 13068 提供WEB服务的服务器IP:80端口 218.72.235.232:26963 ESTABLISHED 10088/httpd
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1714 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 211.71.209.218:24353 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 211.71.209.218:24352 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1984 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1998 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.118.81.82:1512 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:2232 ESTABLISHED 9916/httpd
tcp 0 0 提供WEB服务的服务器IP:80端口 61.50.129.18:1343 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:2007 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 218.4.43.108:3783 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1033 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.141.155.204:2452 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 218.0.58.73:3265 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1590 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.46.40.15:52912 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.46.40.15:52915 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1590 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.46.40.15:52912 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.46.40.15:52915 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.46.40.15:52914 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 68.142.251.88:55950 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 218.22.156.123:24149 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.118.81.106:1511 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 221.237.241.182:2041 ESTABLISHED 10336/httpd
tcp 0 0 提供WEB服务的服务器IP:80端口 211.71.209.218:24351 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.49.188.219:1796 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 218.0.58.73:3294 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 218.6.245.230:28602 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.51.101.30:1816 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 68.142.251.28:33081 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 218.6.245.230:28601 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.43.98.5:12319 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:4981 ESTABLISHED 9812/httpd
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1494 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.49.188.219:1789 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.49.188.219:1791 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1494 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.49.188.219:1789 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.49.188.219:1791 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1493 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.49.188.219:1790 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.43.98.5:12309 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.51.101.30:1809 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.51.101.30:1809 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.51.101.30:1810 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.149.143.144:2863 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.149.143.144:2862 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 61.149.143.144:2857 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.117.156.239:1444 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.51.101.30:1814 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.43.98.5:12302 TIME_WAIT -
tcp 0 10024 提供WEB服务的服务器IP:80端口 59.56.15.232:4962 ESTABLISHED 10458/httpd
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1821 LAST_ACK -
tcp 0 9898 提供WEB服务的服务器IP:80端口 221.229.157.174:1632 ESTABLISHED 12304/httpd
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:4460 ESTABLISHED 10065/httpd
tcp 0 0 提供WEB服务的服务器IP:80端口 61.171.255.224:1286 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:4968 ESTABLISHED 10889/httpd
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:1618 ESTABLISHED 10005/httpd
tcp 0 0 提供WEB服务的服务器IP:80端口 222.43.98.5:12600 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1583 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:1116 ESTABLISHED 12207/httpd
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1577 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1506 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1589 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.117.156.239:1432 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1505 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 166.111.14.37:1580 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1596 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 166.111.14.37:1581 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.117.156.239:1429 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 166.111.14.37:1576 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 166.111.14.37:1577 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1595 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.117.156.239:1431 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 166.111.14.37:1578 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.117.156.239:1430 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 166.111.14.37:1579 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.43.98.5:12637 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1603 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 222.217.188.67:2366 ESTABLISHED 9877/httpd
tcp 0 1 提供WEB服务的服务器IP:80端口 219.130.110.145:1176 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1102 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1609 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 202.118.81.86:1645 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1610 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1617 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1875 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 221.204.184.211:50015 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 219.132.146.61:3106 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1638 LAST_ACK -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1890 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 211.83.146.169:1198 TIME_WAIT -
tcp 0 1 提供WEB服务的服务器IP:80端口 221.237.241.182:1644 LAST_ACK -
tcp 0 0 提供WEB服务的服务器IP:80端口 211.83.146.169:1197 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 60.220.192.15:4136 TIME_WAIT -
tcp 0 0 提供WEB服务的服务器IP:80端口 60.220.192.15:4142 TIME_WAIT -
ayazero 回复于:2005-07-25 11:16:47
synflood的特征是SYN_REV
真实情况下运行netstat -an可能该进程会直接死掉
xiapeng 回复于:2005-07-25 11:24:12
是这样的,在上周5我们公司的WEB服务器,突然访问不了,后来运行了下netstat -an 发现很多很多SYN_REV状态的IP,原来的服务器没有开IPTABLES防火墙,后来请教了下同事,在把防火墙打开后,网站可以访问了.
今天来公司再运行了netstat -an 后发现SYN_REV没有了,但变成了狂多的TIME_WAIT状态,上面的状态是刚才抓的.下面是同事配的防火墙.我抓下来大家看看,iptables -L
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- 218.15.25.230 anywhere reject-with icmp-port-unreachable
REJECT all -- 61.158.175.75 anywhere reject-with icmp-port-unreachable
ACCEPT icmp -- anywhere anywhere icmp any
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
ACCEPT icmp -- anywhere anywhere icmp echo-request limit: avg 1/sec burst 5
ACCEPT tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
好象是封了两个IP地址,现在的状况是否就可以了?再配完防火墙后目前网站是可以正常访问,但是有很多TIME_WAIT,请教我该怎么办?
ayazero 回复于:2005-07-25 11:26:17
能正常访问就行了,time_wait不用管
xiapeng 回复于:2005-07-25 11:42:28
好的,谢谢班主,目前....是可以正常访问,但netstat -an | less后发现....300多个SYN_REV...还是不断有SYN_REV的状态,集中在几个IP地址
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:4029 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.66.186.167:3270 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.64.136.80:4338 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1218 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 61.149.102.209:1449 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 61.149.102.209:2648 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.138.201.62:3876 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50440 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:4697 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:2588 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:2687 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 219.136.17.153:2204 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:2144 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1878 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.64.136.80:3008 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:1514 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.91.186.171:2543 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 219.136.17.153:2245 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:3811 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.64.136.80:3363 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1989 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1134 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:4848 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1530 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50619 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:2206 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50602 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 219.136.17.153:2203 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1638 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:4620 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.232.28.143:10123 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50811 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:1496 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50407 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.64.136.80:2660 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.64.136.80:2232 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 218.64.136.80:4484 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50802 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 222.72.9.71:50629 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 60.164.55.240:3167 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 219.137.138.34:2420 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 221.221.52.142:1855 SYN_RECV
tcp 0 0 提供WEB服务的服务器IP:80端口 219.137.138.34:3069 SYN_RECV
1 218.18.157.126
1 218.192.86.3
1 220.170.57.72
1 60.5.144.137
1 61.135.146.240
2 218.74.30.89
2 220.180.54.50
2 61.178.205.8
3 61.155.179.204
3 61.188.228.166
3 61.188.228.8
8 222.138.201.62
18 60.222.201.69
20 221.221.52.142
21 60.223.57.244
23 219.137.138.34
24 218.64.136.80
24 219.149.153.10
41 218.66.186.167
41 222.67.235.19
45 218.91.186.171
106 218.15.35.106
IP地址前面的数字代表SYN_REV的个数.
象这种情况,是不是封掉攻击者的IP地址就可以了?如果攻击者用IP欺骗或是假IP的话,如何应对好呢?
xiapeng 回复于:2005-07-25 11:48:38
现在攻击者的IP在不断的变化.....可以肯定是被SYN_FLOOD了吧?
有啥解决的办法类?......想加台黑洞,听说能抗DDOS的硬件防火墙里算不错的.但是资金不多,有没有便宜的解决方案呢?黑洞一台最便宜的多少RMB?
ayazero 回复于:2005-07-25 11:52:01
synflood源地址都是伪造的,有钱的话可以买个抗DDOS设备,我也不是做广告,ddos确实没有好的什么解决办法
xiapeng 回复于:2005-07-25 11:55:40
郁闷...现在攻击者,是不断变化攻击的IP地址.我的同事写了个脚本查当前的SYN_REV状态的IP地址,及个数.
现在贴出来判断一下,
SYN_REV 攻击者的IP
160 221.193.254.71
166 218.23.210.136
隔1两分钟后,IP地址就变化了.
132 218.23.210.136
137 61.149.99.55
现在如何解决呢?光靠封IP好象就不太现实了.攻击者的IP再不断变化.请教版主有什么好办法吗?
platinum 回复于:2005-07-25 11:57:21
打开 syn_cookie 会好些,但会消耗大量 CPU 去完成“6 次握手”
xiapeng 回复于:2005-07-25 12:00:31
目前的情况下,如果在不加硬件防火墙,有没有啥解决的办法?折衷的也行.如果试过效果不好,或是起的作用不大的话....我想确实有必要加台硬件防火墙,但现在还能正常访问,好象问题不大?或是攻击者的力度不够?我知道版主是做安全这块的,能不能推荐个好防火墙?价钱不要太高几W RMB的性价比高的就行.
ayazero 回复于:2005-07-25 12:46:14
比较土的方法就是动态更换域名-IP的映射,就是换IP
另外有一些开源的防ddos的东西,没用过也不知道怎样
如果是防ddos,如果不是专用抗ddos的设备,即使是硬件放火墙也只能承受20M左右或者更低的攻击流量就死了
我也无兴趣做什么广告,既然你问了我就贴一个
http://www.nsfocus.com/homepage/products/collapsar.htm
百兆的比较便宜,千兆的贵一点,有钱可以考虑买一个,没钱的话可以尝试我说的那个,看来安全归根结底还是¥的问题啊,哈哈~
xiapeng 回复于:2005-07-25 14:04:47
......哎..真是有钱吊就大啊....谢了兄弟.我反应一下吧.争取加个好的.
xiapeng 回复于:2005-07-25 14:24:27
还有,现在网站可以正常访问.但SYN_REV还是不断的攻击我们.....就放着不管了?是不是能正常访问就不鸟他了.
ayazero 回复于:2005-07-25 14:35:00
我不知道netfilter最新的是否支持对包特征进行过滤,如果他做不了,那就只能坐着不管了
forrest.w 回复于:2005-07-25 15:02:36
哦
我说说我的建议哦
你可以试试用tcpdump -w抓包,分析一下DDoS的包结构。
这个是别人的经验
1. tcp标志位为 syn
2. ip数据总长为40Byte
3. ip头中的Identifier字端固定为256(0x0100)
4. TTL值平均分布为 74 - 95之间
5. tcp窗口值固定为16384
6. 目标端口为tcp:80
7. tcp初始化序列号为 17314131xx,按+1累计依次递增
其中最重要的是 3 4 5条,因为一般的DDoS数据包都是有一定的规律的。
解决方法
1. 下载最新版的iptables-1.3.1和patch-o-matic snapshot 。
(需要Linux内核2.6.10以上版本支持,这一点...Redhat系的所有版本都得重编了。)
ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/
解压iptables和pom;
运行pom patch脚本,过程中需要输入iptables和内核源代码完全路径;
代码:
# ./runme connlimit u32 TARPIT pkttype length
编译和安装iptables及pom内核模块。
代码:
# make -C /lib/modules/`uname -r`/build SUBDIRS=net/ipv4/netfilter/ modules
# make -C /lib/modules/`uname -r`/build SUBDIRS=net/ipv4/netfilter/ modules_install
编译iptables。并手工安装;
代码:
# make KERNEL_DIR=内核源码目录
# cp iptables iptables-save iptables-restore /usr/sbin
# cp extensions/*.so /usr/lib/iptables/
2. 配置内核参数
代码:
======================================================================
#--以下为sysctl 内核参数设置
#net.ipv4.conf.default.rp_filter = 1
#net.ipv4.conf.all.rp_filter = 1
#net.ipv4.conf.eth1.rp_filter = 1
# 开启IP源地址验证,防止IP地址欺骗,在任何情况下都应开启,默认关闭
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >; $f
done
sysctl -w net.ipv4.conf.default.accept_source_route=0 # 禁用icmp源路由选项
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 # 忽略icmp ping广播包,应开启
#sysctl -w net.ipv4.icmp_echo_ignore_all=1 # 忽略所有icmp ping数据,覆盖上一项
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
# 以下一段为抵抗syn flood攻击,平时建议关闭
sysctl -w net.ipv4.tcp_syncookies=1 # tcp syncookie,默认关闭
sysctl -w net.ipv4.tcp_max_syn_backlog=1280 # syn队列,默认1024,>; 1280可能工作不稳定,需要修改内核源码参数
sysctl -w net.ipv4.tcp_synack_retries=2 # syn-ack握手状态重试次数,默认5,遭受syn-flood攻击时改为1或2
sysctl -w net.ipv4.tcp_syn_retries=2 # 外向syn握手重试次数,默认4
# 以下一段为应对tcp connect连接耗尽攻击,如果开启iptables connlimit模块可禁用
# 有严重连接性能影响和不稳定因素,慎用
sysctl -w tcp_tw_recycle=1 # 默认0,tw快速回收
sysctl -w tcp_tw_reuse=1 # 默认0,tw重用
sysctl -w tcp_keepalive_intvl=60 # 默认75,tcp keeplive探测轮询时间
sysctl -w tcp_keepalive_probes=3 # 默认9,tcp keeplive探测轮询次数
sysctl -w tcp_keepalive_time=1800 # 默认7200,tcp keeplive时间
sysctl -w tcp_fin_timeout=30 # 默认60,tcp fin状态超时时间
#sysctl -w net.ipv4.tcp_retries1=2 # tcp连接重传参数,慎用
#sysctl -w net.ipv4.tcp_retries2=8
sysctl -w net.ipv4.ip_conntrack_max=65535 # 增大iptables状态跟踪表
3. 配置iptables规则
代码:
#--以下为iptables规则设置--
modprobe ipt_TARPIT
modprobe ipt_u32
modprobe ipt_connlimit
modprobe ipt_length
modprobe ipt_pkttype
iptables -N input_ext
iptables -F input_ext # 新建iptables队列
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 激活状态检测
iptables -A INPUT -i eth0 -j input_ext # 扩展input规则
iptables -A INPUT -j DROP # 默认input规则,丢弃全部
iptables -A input_ext -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -m u32 --u32 "0x2&0xffff=0x100&&0x5&0xff=0x4a:0x5f" -j DROP # 本次syn-flood攻击指纹特征,丢弃
iptables -A input_ext -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -m connlimit --connlimit-above 5 --connlimit-mask 32 -j TARPIT # 防止连接耗尽攻击,每IP并发连接限制为4
iptables -A input_ext -p tcp -j TARPIT # 防止端口扫描攻击
iptables -A input_ext -m pkttype --pkt-type broadcast -j DROP # 丢弃广播数据包
iptables -A input_ext -p icmp -m limit --limit 6/s -m icmp --icmp-type 4 -j ACCEPT # 接受icmp traceroute/echo reply数据,限制流量 5个/秒
iptables -A input_ext -p icmp -m limit --limit 6/s -m icmp --icmp-type 8 -j ACCEPT
iptables -A input_ext -p icmp -m length --length 48:256 -j ACCEPT # 限制icmp包大小为 0 - 256Byte,防止大包flood
# 实际网络中如果不用icmp/udp协议,可以直接全部drop
希望能对你有所帮助。
lxdlj 回复于:2005-07-26 13:42:18
syn_cookie的作用不是6次握手吧?呵呵.:)
消耗大量CPU?不大可能吧?呵呵.
引用:原帖由 "platinum"]打开 syn_cookie 会好些,但会消耗大量 CPU 去完成“6 次握手” 发表:
hbtmyjt 回复于:2005-07-26 16:50:35
netscreen 200
hbtmyjt 回复于:2005-07-26 16:57:04
204的话要12万
你可以买个100差不多9万可以搞定
platinum 回复于:2005-07-27 12:51:08
引用:原帖由 "lxdlj" 发表: syn_cookie的作用不是6次握手吧?呵呵.
消耗大量CPU?不大可能吧?呵呵. :)
http://www-128.ibm.com/developerworks/cn/linux/l-syncookie/?ca=dwcn-newsletter-linux
西门飞 回复于:2005-07-28 02:00:33
确实没有特别有效果的方法.
ddos 就是拼带宽.拼资源.
我可以给你做 . 中新的 ddos墙.效果还可以.
没有谁说可以完全防御ddos的..
硬件的.
4w 多点.
呵呵.
depthblue 回复于:2005-08-05 16:31:39
国内的有很多款产品,最近我看到这个
有兴趣可以看看,不是广告啊
http://www.sharesec.com/product.html
happygrid 回复于:2005-08-05 17:45:13
最近我也遇到了ddos案例,用tcpdump分析了一下他数据包的特征,有针对性的写了几个iptables脚本,并且将web服务器用squid做反向代理,效果很明显,在遭受小规模的ddos时候,站点巍然不动。
呵呵,对于国内外的一些专业防ddos设备,实话说,效果不好。
frosty 回复于:2005-08-05 20:30:01
要是好的话,DDOS 不就消失了
现在的反射式 DDOS 又是一个技术难题
艾
...
ren1004 回复于:2005-08-06 11:21:07
防火墙里面有没有集成简单的IDS,如果有可以自动阻断
skipjack 回复于:2005-08-06 12:39:35
引用:原帖由 "ayazero"]我不知道netfilter最新的是否支持对包特征进行过滤,如果他做不了,那就只能坐着不管了 发表:
不用新版本的支持,你只要修改一下TIME_WAIT超时时间即可
ayazero 回复于:2005-08-06 15:06:19
修改TIME_WAIT没有用的,一样可以填满内核栈的队列
skipjack 回复于:2005-08-06 19:52:33
引用:原帖由 "ayazero"]修改TIME_WAIT没有用的,一样可以填满内核栈的队列 发表:
队列不是TIME_WAIT和CLOSE填满的,主要是SYN_RECV和ESTABLISH填满的。
ayazero 回复于:2005-08-06 21:34:37
只要队列填满不久等于哑掉了吗
deevey 回复于:2005-08-08 05:16:19
各位老大,我这里有个问题,这里的网络用了NETBIOS名称解析,有哪位老大可以赐教一下,在XP中怎么样才可以更改计算机的NETBIOS名啊?
qwerfx 回复于:2005-08-09 02:09:42
ddos谁说的明白点晕忽忽的有链接吗
fisherjams 回复于:2005-08-09 15:33:57
netbios名就是主机名。拜托你以后另起主题问和原贴不相干的问题。
xiapeng 回复于:2005-08-11 14:11:24
哎哎..真郁闷.前几天设好IPTABLES后,就没管它,今天上来看,好象对方的攻击强度加大了....导致我们WEBSERVER上跑的一些进程僵直了.
看了这么多介绍好象...最便宜的也得4W啊......要是黑洞在10W以下有产品我到是可以争取一下.
还有个问题大家帮帮啊....可不可以用HTTP中限制单个IP的访问次数,来防止我上面提到的SYN_FLOOD攻击呢.具体的攻击手段和症状在第一楼里贴出来了.
这是办法是我们同事提的....要我去实现.我想知道这么做有没有作用呢?好象是限制单个IP地址用多个端口访问.他的意思是这样....大家讨论下成不成?
现在的症状是这样: netstat -an | less后绝大多数是下面的
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:21859 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:35279 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 218.84.32.169:9963 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:43581 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:31540 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:7531 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:42993 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 221.213.21.14:4704 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 221.219.54.82:59402 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 211.92.235.14:35477 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 218.16.164.225:1447 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:43119 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 218.84.32.169:9964 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:29137 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 218.84.32.169:10013 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 222.140.77.155:3082 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:27362 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 61.235.98.3:20954 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 218.16.164.225:1508 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 221.213.21.14:4433 SYN_RECV
tcp 0 0 1xx.xxx.xxx.xxx: 80 218.84.32.169:9998
SYN_RECV
然后里面还有一小部分是这样的:
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3044 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3044 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3309 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3057 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 219.128.42.38:4105 TIME_WAIT
tcp 0 13829 1xx.xxx.xxx.xxx:80 60.163.100.48:1403 FIN_WAIT1
tcp 0 0 1xx.xxx.xxx.xxx:80 219.130.107.127:1305 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1211 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1210 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1209 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1208 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3526 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1207 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1206 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.135.225.109:1205 TIME_WAIT
tcp 0 1 1xx.xxx.xxx.xxx:80 202.102.100.188:2303 FIN_WAIT1
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3021 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 61.232.148.152:4539 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3795 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 219.145.130.66:32755 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3793 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 61.145.147.63:1182 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 61.49.131.3:1301 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 61.49.131.3:1302 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.132.239.231:3295 ESTABLISHED
tcp 0 0 1xx.xxx.xxx.xxx:80 222.50.30.226:64609 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 221.12.50.170:1594 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 222.46.14.202:3148 TIME_WAIT
tcp 0 0 1xx.xxx.xxx.xxx:80 221.12.50.170:1594 TIME_WAIT
绝大多数是SYN_RECV的.这可砸办啊老大们...
xiapeng 回复于:2005-08-11 14:51:20
这是TCPDUMP抓的包.....我看不太懂....TCPDUMP -C 抓的.大家看看有啥线索吧!!!能看到攻击者的真实IP吗?
15:43:39.265433 我们WEBSERVER的网址.http >; 222.160.225.238.62975: S 884677667:884677667(0) ack 3911285983 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265441 我们WEBSERVER的网址.http >; 222.160.225.238.64331: S 869493215:869493215(0) ack 3885310639 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265449 我们WEBSERVER的网址.http >; 222.160.225.238.63709: S 874921016:874921016(0) ack 3902860562 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265455 我们WEBSERVER的网址.http >; 61.178.216.215.2024: S 871919211:871919211(0) ack 2927172798 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:39.265462 我们WEBSERVER的网址.http >; 61.178.216.215.2118: S 885019298:885019298(0) ack 1883558441 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:39.265468 我们WEBSERVER的网址.http >; 60.208.243.55.1975: S 867948707:867948707(0) ack 3076445216 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265477 我们WEBSERVER的网址.http >; 222.160.225.238.64567: S 887183031:887183031(0) ack 3910652759 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265484 我们WEBSERVER的网址.http >; 222.160.225.238.62393: S 872078446:872078446(0) ack 3903632208 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265493 我们WEBSERVER的网址.http >; 60.208.243.55.1623: S 868966179:868966179(0) ack 2397042305 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.265500 我们WEBSERVER的网址.http >; 222.160.225.238.65023: S 859530533:859530533(0) ack 3884715742 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.267327 我们WEBSERVER的网址.domain >; 我们WEBSERVER的网址.37365: 10268 1/7/8 (394) (DF)
15:43:39.267555 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10269+ PTR? 114.203.105.162.in-addr.arpa. (46) (DF)
15:43:39.267990 tu214120.ip.tsinghua.edu.cn.2379 >; 我们WEBSERVER的网址.ssh: P 1:53(52) ack 68 win 64271 (DF)
15:43:39.268839 我们WEBSERVER的网址.domain >; 我们WEBSERVER的网址.37365: 10269* 1/5/6 (303) (DF)
15:43:39.269049 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10270+ PTR? 27.129.105.162.in-addr.arpa. (45) (DF)
15:43:39.270453 202.114.118.25.3533 >; 我们WEBSERVER的网址.http: . ack 883810208 win 64963 (DF)
15:43:39.270477 218.91.75.163.3038 >; 我们WEBSERVER的网址.http: F 3497623933:3497623933(0) ack 879422171 win 63983 (DF)
15:43:39.270546 我们WEBSERVER的网址.http >; 218.91.75.163.3038: F 1:1(0) ack 1 win 5840 (DF)
15:43:39.272118 我们WEBSERVER的网址.domain >; 我们WEBSERVER的网址.37365: 10270* 1/5/6 (300) (DF)
15:43:39.272310 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10271+ PTR? 238.225.160.222.in-addr.arpa. (46) (DF)
15:43:39.272462 202.114.118.25.3533 >; 我们WEBSERVER的网址.http: F 0:0(0) ack 1 win 64963 (DF)
15:43:39.272477 我们WEBSERVER的网址.http >; 202.114.118.25.3533: . ack 1 win 6432 (DF)
15:43:39.275712 211.91.12.35.3374 >; 我们WEBSERVER的网址.http: S 519983989:519983989(0) win 64800 <mss 1440,nop,nop,sackOK>; (DF)
15:43:39.275735 我们WEBSERVER的网址.http >; 211.91.12.35.3374: S 883521747:883521747(0) ack 519983990 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.275939 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 879435187 win 65535 (DF)
15:43:39.275959 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 1381:2761(1380) ack 0 win 6432 (DF)
15:43:39.275969 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 2761:4141(1380) ack 0 win 6432 (DF)
15:43:39.275978 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 4141:5521(1380) ack 0 win 6432 (DF)
15:43:39.295042 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 2761 win 65535 (DF)
15:43:39.295060 我们WEBSERVER的网址.http >; 202.114.118.25.3532: P 5521:6901(1380) ack 0 win 6432 (DF)
15:43:39.295070 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 6901:8281(1380) ack 0 win 6432 (DF)
15:43:39.295078 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 8281:9661(1380) ack 0 win 6432 (DF)
15:43:39.297316 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 5521 win 65535 (DF)
15:43:39.297329 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 9661:11041(1380) ack 0 win 6432 (DF)
15:43:39.297338 我们WEBSERVER的网址.http >; 202.114.118.25.3532: P 11041:12421(1380) ack 0 win 6432 (DF)
15:43:39.297364 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 12421:13801(1380) ack 0 win 6432 (DF)
15:43:39.305406 我们WEBSERVER的网址.ssh >; tu214120.ip.tsinghua.edu.cn.2379: . ack 53 win 8576 (DF) [tos 0x10]
15:43:39.315399 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 8281 win 65535 (DF)
15:43:39.315416 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 13801:15181(1380) ack 0 win 6432 (DF)
15:43:39.315426 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 15181:16561(1380) ack 0 win 6432 (DF)
15:43:39.315434 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 16561:17941(1380) ack 0 win 6432 (DF)
15:43:39.317849 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 11041 win 65535 (DF)
15:43:39.317862 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 17941:19321(1380) ack 0 win 6432 (DF)
15:43:39.317872 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . 19321:20701(1380) ack 0 win 6432 (DF)
15:43:39.317881 我们WEBSERVER的网址.http >; 202.114.118.25.3532: P 20701:22081(1380) ack 0 win 6432 (DF)
15:43:39.319951 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 13801 win 65535 (DF)
15:43:39.319975 我们WEBSERVER的网址.http >; 202.114.118.25.3532: P 22081:22709(628) ack 0 win 6432 (DF)
15:43:39.320058 我们WEBSERVER的网址.http >; 202.114.118.25.3532: F 22709:22709(0) ack 0 win 6432 (DF)
15:43:39.335720 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 16561 win 65535 (DF)
15:43:39.337981 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 19321 win 65535 (DF)
15:43:39.340475 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 22081 win 65535 (DF)
15:43:39.340733 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: . ack 22710 win 64907 (DF)
15:43:39.346081 222.44.67.226.3537 >; 我们WEBSERVER的网址.http: . ack 887787965 win 8484 (DF)
15:43:39.347593 222.44.67.226.3537 >; 我们WEBSERVER的网址.http: F 0:0(0) ack 1 win 8484 (DF)
15:43:39.347627 我们WEBSERVER的网址.http >; 222.44.67.226.3537: F 1:1(0) ack 1 win 5840 (DF)
15:43:39.348852 202.114.118.25.3532 >; 我们WEBSERVER的网址.http: F 0:0(0) ack 22710 win 64907 (DF)
15:43:39.348860 我们WEBSERVER的网址.http >; 202.114.118.25.3532: . ack 1 win 6432 (DF)
15:43:39.352881 222.44.67.226.3538 >; 我们WEBSERVER的网址.http: . ack 876748373 win 8484 (DF)
15:43:39.354027 222.44.67.226.3538 >; 我们WEBSERVER的网址.http: F 0:0(0) ack 1 win 8484 (DF)
15:43:39.354062 我们WEBSERVER的网址.http >; 222.44.67.226.3538: F 1:1(0) ack 1 win 5840 (DF)
15:43:39.375262 我们WEBSERVER的网址.domain >; 我们WEBSERVER的网址.37365: 10271 NXDomain* 0/1/0 (135) (DF)
15:43:39.375589 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10272+ PTR? 215.216.178.61.in-addr.arpa. (45) (DF)
15:43:39.399828 220.184.222.131.3245 >; 我们WEBSERVER的网址.http: R 1799441654:1799441654(0) win 0
15:43:39.403853 61.178.216.215.2168 >; 我们WEBSERVER的网址.http: S 3748864352:3748864352(0) win 8192 <mss 1440,nop,wscale 0,nop,nop,timestamp 0 0,nop,nop,sackOK>; (DF)
15:43:39.403874 我们WEBSERVER的网址.http >; 61.178.216.215.2168: S 876617885:876617885(0) ack 3748864353 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:39.406858 222.92.202.67.3795 >; 我们WEBSERVER的网址.http: R 217083583:217083583(0) win 0
15:43:39.408530 222.92.202.67.3796 >; 我们WEBSERVER的网址.http: R 217129231:217129231(0) win 0
15:43:39.428777 220.184.222.131.3258 >; 我们WEBSERVER的网址.http: S 1800258433:1800258433(0) win 14600 <mss 1452,nop,wscale 0,nop,nop,sackOK>; (DF)
15:43:39.428789 我们WEBSERVER的网址.http >; 220.184.222.131.3258: S 877149228:877149228(0) ack 1800258434 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:39.430160 lj2184.inktomisearch.com.35730 >; 我们WEBSERVER的网址.http: . ack 891199526 win 26064 <nop,nop,timestamp 289161103 174622600>; (DF)
15:43:39.430180 我们WEBSERVER的网址.http >; lj2184.inktomisearch.com.35730: . 10137:11585(1448) ack 0 win 6432 <nop,nop,timestamp 174622622 289161103>; (DF)
15:43:39.430187 我们WEBSERVER的网址.http >; lj2184.inktomisearch.com.35730: P 11585:13033(1448) ack 0 win 6432 <nop,nop,timestamp 174622622 289161103>; (DF)
15:43:39.430198 lj2184.inktomisearch.com.35730 >; 我们WEBSERVER的网址.http: . ack 1449 win 28960 <nop,nop,timestamp 289161104 174622600>; (DF)
15:43:39.430232 我们WEBSERVER的网址.http >; lj2184.inktomisearch.com.35730: . 13033:14481(1448) ack 0 win 6432 <nop,nop,timestamp 174622622 289161104>; (DF)
15:43:39.430239 我们WEBSERVER的网址.http >; lj2184.inktomisearch.com.35730: P 14481:14565(84) ack 0 win 6432 <nop,nop,timestamp 174622622 289161104>; (DF)
15:43:39.430363 我们WEBSERVER的网址.http >; lj2184.inktomisearch.com.35730: FP 14565:15535(970) ack 0 win 6432 <nop,nop,timestamp 174622622 289161104>; (DF)
15:43:39.430437 lj2184.inktomisearch.com.35730 >; 我们WEBSERVER的网址.http: . ack 2897 win 31856 <nop,nop,timestamp 289161104 174622600>; (DF)
15:43:39.430454 lj2184.inktomisearch.com.35730 >; 我们WEBSERVER的网址.http: . ack 4345 win 34752 <nop,nop,timestamp 289161104 174622600>; (DF)
15:43:39.430702 lj2184.inktomisearch.com.35730 >; 我们WEBSERVER的网址.http: . ack 5793 win 37648 <nop,nop,timestamp 289161104 174622600>; (DF)
15:43:39.478975 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10273+ PTR? 55.243.208.60.in-addr.arpa. (44) (DF)
15:43:39.479589 218.2.80.237.2890 >; 我们WEBSERVER的网址.http: S 1918964935:1918964935(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.495497 61.191.24.98.64075 >; 我们WEBSERVER的网址.http: R 2685223271:2685223271(0) win 0
15:43:39.504306 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10274+ PTR? 25.118.114.202.in-addr.arpa. (45) (DF)
15:43:39.535957 218.2.80.237.2901 >; 我们WEBSERVER的网址.http: S 3149550845:3149550845(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.535978 我们WEBSERVER的网址.http >; 218.2.80.237.2901: S 889838712:889838712(0) ack 3149550846 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.537190 218.2.80.237.2902 >; 我们WEBSERVER的网址.http: S 2836681975:2836681975(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.537201 我们WEBSERVER的网址.http >; 218.2.80.237.2902: S 881112603:881112603(0) ack 2836681976 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.546191 209.160.shuxun.net.2551 >; 我们WEBSERVER的网址.http: . ack 890063879 win 17520 (DF)
15:43:39.552956 218.2.80.237.2913 >; 我们WEBSERVER的网址.http: S 940967906:940967906(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.552972 我们WEBSERVER的网址.http >; 218.2.80.237.2913: S 881415362:881415362(0) ack 940967907 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.554304 218.2.80.237.2914 >; 我们WEBSERVER的网址.http: S 2279038124:2279038124(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.554316 我们WEBSERVER的网址.http >; 218.2.80.237.2914: S 881243926:881243926(0) ack 2279038125 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.562136 209.160.shuxun.net.2551 >; 我们WEBSERVER的网址.http: P 0:287(287) ack 1 win 17520 (DF)
15:43:39.562152 我们WEBSERVER的网址.http >; 209.160.shuxun.net.2551: . ack 287 win 6432 (DF)
15:43:39.564817 61.178.186.169.3833 >; 我们WEBSERVER的网址.http: R 1799054066:1799054066(0) win 0
15:43:39.577439 61.178.186.169.3834 >; 我们WEBSERVER的网址.http: R 1799097307:1799097307(0) win 0
15:43:39.588035 218.2.80.237.2925 >; 我们WEBSERVER的网址.http: S 3483161937:3483161937(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.647649 lj2184.inktomisearch.com.35730 >; 我们WEBSERVER的网址.http: F 0:0(0) ack 15536 win 55024 <nop,nop,timestamp 289161125 174622622>; (DF)
15:43:39.650390 我们WEBSERVER的网址.37365 >; 我们WEBSERVER的网址.domain: 10276+ PTR? 35.12.91.211.in-addr.arpa. (43) (DF)
15:43:39.658674 218.2.80.237.2973 >; 我们WEBSERVER的网址.http: S 1307708104:1307708104(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.658697 我们WEBSERVER的网址.http >; 218.2.80.237.2973: S 883179670:883179670(0) ack 1307708105 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.659758 218.2.80.237.2974 >; 我们WEBSERVER的网址.http: S 2468238526:2468238526(0) win 65535 <mss 1452,nop,nop,sackOK>; (DF)
15:43:39.659770 我们WEBSERVER的网址.http >; 218.2.80.237.2974: S 884476354:884476354(0) ack 2468238527 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.665412 我们WEBSERVER的网址.http >; 61.178.216.215.2112: S 878788607:878788607(0) ack 86803664 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:39.665419 我们WEBSERVER的网址.http >; 222.160.225.238.64767: S 874851270:874851270(0) ack 3904363408 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:39.665429 我们WEBSERVER的网址.http >; 61.178.216.215.2018: S 869680659:869680659(0) ack 1906688630 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:58.015837 222.241.54.52.3986 >; 我们WEBSERVER的网址.http: S 3828131185:3828131185(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.015882 我们WEBSERVER的网址.http >; 222.241.54.52.3986: S 900584251:900584251(0) ack 3828131186 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.015998 我们WEBSERVER的网址.37381 >; 我们WEBSERVER的网址.domain: 10277+ PTR? 226.67.44.222.in-addr.arpa. (44) (DF)
15:43:58.016428 219.232.53.202.1352 >; 我们WEBSERVER的网址.http: . ack 897867824 win 63888 (DF)
15:43:58.016456 我们WEBSERVER的网址.http >; 219.232.53.202.1352: . 4381:5841(1460) ack 0 win 6432 (DF)
15:43:58.016466 我们WEBSERVER的网址.http >; 219.232.53.202.1352: . 5841:7301(1460) ack 0 win 6432 (DF)
15:43:58.016476 我们WEBSERVER的网址.http >; 219.232.53.202.1352: P 7301:8761(1460) ack 0 win 6432 (DF)
15:43:58.025517 202.105.42.153.1510 >; 我们WEBSERVER的网址.http: . ack 908850437 win 65535 (DF)
15:43:58.025569 我们WEBSERVER的网址.http >; 202.105.42.153.1510: . 7201:8641(1440) ack 0 win 6432 (DF)
15:43:58.025582 我们WEBSERVER的网址.http >; 202.105.42.153.1510: . 8641:10081(1440) ack 0 win 6432 (DF)
15:43:58.025594 我们WEBSERVER的网址.http >; 202.105.42.153.1510: FP 10081:10949(868) ack 0 win 6432 (DF)
15:43:58.027072 59.42.48.202.1926 >; 我们WEBSERVER的网址.http: . ack 897865993 win 65535 (DF)
15:43:58.027333 59.42.48.202.1926 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.028137 59.42.48.202.1927 >; 我们WEBSERVER的网址.http: . ack 899656020 win 65535 (DF)
15:43:58.028206 59.42.48.202.1927 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.034412 222.241.54.52.3994 >; 我们WEBSERVER的网址.http: S 35663750:35663750(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.034435 我们WEBSERVER的网址.http >; 222.241.54.52.3994: S 902317097:902317097(0) ack 35663751 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.036333 59.42.48.202.1939 >; 我们WEBSERVER的网址.http: . ack 904167311 win 65535 (DF)
15:43:58.036363 59.42.48.202.1938 >; 我们WEBSERVER的网址.http: . ack 905408923 win 65535 (DF)
15:43:58.036844 59.42.48.202.1938 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.036872 222.241.54.52.3995 >; 我们WEBSERVER的网址.http: S 4234155676:4234155676(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.036904 我们WEBSERVER的网址.http >; 222.241.54.52.3995: S 910417554:910417554(0) ack 4234155677 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.037137 59.42.48.202.1939 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.038364 59.42.48.202.1950 >; 我们WEBSERVER的网址.http: . ack 908827662 win 65535 (DF)
15:43:58.038548 59.42.48.202.1951 >; 我们WEBSERVER的网址.http: . ack 909398718 win 65535 (DF)
15:43:58.038730 59.42.48.202.1950 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.038749 202.105.42.153.1510 >; 我们WEBSERVER的网址.http: . ack 2881 win 65535 (DF)
15:43:58.038788 59.42.48.202.1951 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.061723 211.91.12.35.3623 >; 我们WEBSERVER的网址.http: R 536699625:536699625(0) win 0
15:43:58.063837 222.241.54.52.4005 >; 我们WEBSERVER的网址.http: S 965519448:965519448(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.063861 我们WEBSERVER的网址.http >; 222.241.54.52.4005: S 910139396:910139396(0) ack 965519449 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.065273 59.42.48.202.1962 >; 我们WEBSERVER的网址.http: . ack 904211163 win 65535 (DF)
15:43:58.065419 我们WEBSERVER的网址.http >; 222.160.225.238.65121: S 906949132:906949132(0) ack 3929875799 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.065427 我们WEBSERVER的网址.http >; 222.160.225.238.65009: S 885128012:885128012(0) ack 3912060714 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.065435 我们WEBSERVER的网址.http >; 61.178.216.215.2127: S 881767793:881767793(0) ack 2917759341 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:58.065442 我们WEBSERVER的网址.http >; 61.178.216.215.2268: S 889737832:889737832(0) ack 1939317481 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:58.065451 我们WEBSERVER的网址.http >; 61.178.216.215.2119: S 888201061:888201061(0) ack 1620613114 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:58.065560 59.42.48.202.1963 >; 我们WEBSERVER的网址.http: . ack 908491052 win 65535 (DF)
15:43:58.065734 59.42.48.202.1962 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.067967 59.42.48.202.1974 >; 我们WEBSERVER的网址.http: . ack 894691345 win 65535 (DF)
15:43:58.068239 59.42.48.202.1975 >; 我们WEBSERVER的网址.http: . ack 906487710 win 65535 (DF)
15:43:58.070187 59.42.48.202.1963 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.070414 59.42.48.202.1974 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.070469 59.42.48.202.1975 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.071263 59.42.48.202.licensedaemon >; 我们WEBSERVER的网址.http: . ack 910166608 win 65535 (DF)
15:43:58.071539 59.42.48.202.licensedaemon >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.071591 59.42.48.202.1987 >; 我们WEBSERVER的网址.http: . ack 902420903 win 65535 (DF)
15:43:58.071793 59.42.48.202.1987 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.076654 59.42.48.202.1998 >; 我们WEBSERVER的网址.http: . ack 907322258 win 65535 (DF)
15:43:58.076939 59.42.48.202.1999 >; 我们WEBSERVER的网址.http: . ack 897236525 win 65535 (DF)
15:43:58.078323 59.42.48.202.1998 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.078685 59.42.48.202.1999 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.084836 222.241.54.52.4013 >; 我们WEBSERVER的网址.http: S 3754635901:3754635901(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.084862 我们WEBSERVER的网址.http >; 222.241.54.52.4013: S 911323890:911323890(0) ack 3754635902 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.098527 61.4.64.170.2159 >; 我们WEBSERVER的网址.http: . ack 898753447 win 65535 (DF)
15:43:58.098556 61.4.64.170.2164 >; 我们WEBSERVER的网址.http: . ack 901624798 win 65535 (DF)
15:43:58.098570 61.4.64.170.2170 >; 我们WEBSERVER的网址.http: . ack 899460998 win 65535 (DF)
15:43:58.098592 61.4.64.170.2174 >; 我们WEBSERVER的网址.http: . ack 893920987 win 65535 (DF)
15:43:58.098616 61.4.64.170.2166 >; 我们WEBSERVER的网址.http: . ack 903288836 win 65535 (DF)
15:43:58.098629 61.4.64.170.2174 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.099308 61.4.64.170.2159 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.099332 61.4.64.170.2164 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.099343 61.4.64.170.2166 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.099353 61.4.64.170.2170 >; 我们WEBSERVER的网址.http: R 0:0(0) ack 1 win 0 (DF)
15:43:58.103097 222.241.54.52.4019 >; 我们WEBSERVER的网址.http: S 480472582:480472582(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.103126 我们WEBSERVER的网址.http >; 222.241.54.52.4019: S 910699303:910699303(0) ack 480472583 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.112133 222.160.225.238.62721 >; 我们WEBSERVER的网址.http: S 3935475278:3935475278(0) win 64240 <mss 1452,nop,nop,sackOK>; (DF)
15:43:58.112152 我们WEBSERVER的网址.http >; 222.160.225.238.62721: S 898051751:898051751(0) ack 3935475279 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.116898 222.160.225.238.65301 >; 我们WEBSERVER的网址.http: S 3935525947:3935525947(0) win 64240 <mss 1452,nop,nop,sackOK>; (DF)
15:43:58.116916 我们WEBSERVER的网址.http >; 222.160.225.238.65301: S 897433536:897433536(0) ack 3935525948 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.125499 222.241.54.52.4027 >; 我们WEBSERVER的网址.http: S 2272265258:2272265258(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.125517 我们WEBSERVER的网址.http >; 222.241.54.52.4027: S 894979519:894979519(0) ack 2272265259 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.127205 我们WEBSERVER的网址.domain >; 我们WEBSERVER的网址.37381: 10277 NXDomain* 0/1/0 (133) (DF)
15:43:58.127554 我们WEBSERVER的网址.37381 >; 我们WEBSERVER的网址.domain: 10278+ PTR? 131.222.184.220.in-addr.arpa. (46) (DF)
15:43:58.139730 202.105.42.153.1510 >; 我们WEBSERVER的网址.http: . ack 5761 win 65535 (DF)
15:43:58.141814 219.232.53.202.1352 >; 我们WEBSERVER的网址.http: . ack 1461 win 63888 (DF)
15:43:58.141862 我们WEBSERVER的网址.http >; 219.232.53.202.1352: . 8761:10221(1460) ack 0 win 6432 (DF)
15:43:58.145631 222.241.54.52.4035 >; 我们WEBSERVER的网址.http: S 3518521453:3518521453(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:58.145651 我们WEBSERVER的网址.http >; 222.241.54.52.4035: S 898164718:898164718(0) ack 3518521454 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:43:58.148175 222.241.54.52.4036 >; 我们WEBSERVER的网址.http: S 4284773041:4284773041(0) win 65535 <mss 1440,nop,nop,sackOK>; (DF)
15:43:59.046260 220.184.222.131.3547 >; 我们WEBSERVER的网址.http: S 1817288808:1817288808(0) win 14600 <mss 1452,nop,wscale 0,nop,nop,sackOK>; (DF)
15:43:59.046275 我们WEBSERVER的网址.http >; 220.184.222.131.3547: S 905500110:905500110(0) ack 1817288809 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:59.046319 我们WEBSERVER的网址.37381 >; 我们WEBSERVER的网址.domain: 10279+ PTR? 67.202.92.222.in-addr.arpa. (44) (DF)
15:43:59.940580 我们WEBSERVER的网址.37383 >; 我们WEBSERVER的网址.domain: 10280+ PTR? 194.249.142.68.in-addr.arpa. (45) (DF)
15:43:59.940839 61.178.216.215.2437 >; 我们WEBSERVER的网址.http: S 980405190:980405190(0) win 8192 <mss 1440,nop,wscale 0,nop,nop,timestamp 0 0,nop,nop,sackOK>; (DF)
15:43:59.940854 我们WEBSERVER的网址.http >; 61.178.216.215.2437: S 910136960:910136960(0) ack 980405191 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 0>; (DF)
15:43:59.941877 218.12.102.34.3090 >; 我们WEBSERVER的网址.http: S 3519385378:3519385378(0) win 16384 <mss 1460,nop,nop,sackOK>; (DF)
15:44:00.233208 我们WEBSERVER的网址.37383 >; 我们WEBSERVER的网址.domain: 10281+ PTR? 237.80.2.218.in-addr.arpa. (43) (DF)
15:44:00.234624 202.118.81.98.1744 >; 我们WEBSERVER的网址.http: . ack 906737002 win 17520 (DF)
15:44:00.234837 我们WEBSERVER的网址.domain >; 我们WEBSERVER的网址.37383: 10281 NXDomain 0/1/0 (122) (DF)
15:44:00.234987 我们WEBSERVER的网址.37383 >; 我们WEBSERVER的网址.domain: 10282+ PTR? 98.24.191.61.in-addr.arpa. (43) (DF)
15:44:00.235172 202.118.81.98.1744 >; 我们WEBSERVER的网址.http: P 0:332(332) ack 1 win 17520 (DF)
xiyang 回复于:2005-08-12 08:36:08
楼上的兄弟。
其实呢
你完全可以自己把window=5840的全部DROP或者把window=5840限制流量就可以解决了
自己写个module,3分钟解决问题
xiyang 回复于:2005-08-12 08:37:24
另外,不建议用netstat -an来作为分析攻击的依据
抓取数据包来分析是最直接的方法
:)
xiapeng 回复于:2005-08-12 14:43:58
谢谢各位兄弟的指点..感谢!另外啥是WINDOWS=5840啊?我们的服务器是LINUX的.
lovehart 回复于:2005-08-15 06:48:38
^_^,别的办法也就是缓解!你可以在网上搜一下这方面的文章!有很多不错的想法!你可以参考一下。。。
platinum 回复于:2005-08-15 10:07:11
引用:原帖由 "xiapeng"]谢谢各位兄弟的指点..感谢!另外啥是WINDOWS=5840啊?我们的服务器是LINUX的. 发表:
是滑动窗口,具体一句两句说不清,建议看一下 TCP/IP 的书
benjiam 回复于:2006-01-05 10:51:21
module 怎么写呢?
内核module 吗?
zjzf_1 回复于:2006-01-05 12:04:40
采用网拔技术 可以有效抵挡任何攻击
jason0127 回复于:2006-01-07 14:22:24
何为网拔技术啊,可以抵挡任何攻击????
xiyang 回复于:2006-01-07 17:35:34
哈哈哈
所谓网拔技术就是拔掉网线。
他们是开玩笑的
suran007 回复于:2006-01-09 10:29:26
请问写个脚本定时进行ban ip行么?
脚本原理是对进行syn攻击者的ip进行统计,如果达到我们制定的数目,就进行ban ip,不知道这个脚本行不行,脚本内容如下:
防Syn脚本
脚本内容如下:
#include <stdio.h>
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const string BanListFile = "/tmp/ban_list"; // the file record the block ip
const string DataCacheFile = "/tmp/data.cache";//the file use for cache
const int MaxConnect = 31 ;//the max connection number that you allow for each ip
int main(int argc, char **argv)
{
string a="/bin/netstat | grep -e 'ESTABLISHED|FIN_WAIT1|SYN_RECV' | awk '{print $5}' > "+DataCacheFile; vector < string > IpList;
vector < int > IpConNum;
string Ipatables_rule="/sbin/iptables -I INPUT -s ";
string BanIp;
string Ipatables_rule2=" -j REJECT";
vector < string > BlackList;
string BlackIpString;
vector < string >::iterator pos;
BlackList.resize(0);
//read the file to get which ip has been blocked
fstream BlackIp(BanListFile.c_str() , ios::in);
if(BlackIp.is_open()){
while(1){
BlackIp >> BlackIpString ;
if(!BlackIp.eof()){
BlackList.push_back(BlackIpString) ;
// cout<< BlackIpString<<" "<<BlackList.size()<<" "<<endl;
}else break;
}
}
//exec the shell command to get current connection status,
//and send the infomation to a cache file
system(a.c_str());
//read the file to get current connection status
fstream CurrentCon(DataCacheFile.c_str(),ios::in);
if(!CurrentCon.eof())
do
{
string SingleIp;
CurrentCon >> SingleIp;
int i=SingleIp.find(":");
if(i==-1)break;
SingleIp.resize(i);
pos=find(IpList.begin() , IpList.end() , SingleIp);
if(pos != IpList.end())//if the ip in the Iplist
{
IpConNum[pos-IpList.begin()]++; //just add the ip's connection number
}
else{ //else the ip is first time list in the cache file
pos=find(BlackList.begin() , BlackList.end() , SingleIp);
//if the ip was not blocked,
//sometimes you blocked the ip
//but it's connection will remain a little time
//So we check this .
if(pos == BlackList.end()){
IpList.push_back(SingleIp);//add the ip to Iplist
IpConNum.push_back(1);
}
}
}while(!CurrentCon.eof());
// cout<<"--------------"<<endl;
// for(int i=0; i<IpList.size() ; i++)
// {
// cout << IpList <<":"<<IpConNum<<endl;
//
// }
for(int i=0; i<IpList.size() ; i++){
//if the ip's connection number is larger than MaxConnect
if( IpConNum > MaxConnect )
{
BanIp=IpList;
if(BanIp!="")
{
Ipatables_rule=Ipatables_rule+BanIp+Ipatables_rule2;
cout << "banip "<< Ipatables_rule <<endl;
system(Ipatables_rule.c_str());//use iptables to block the ip
string baninfo = "echo ";
baninfo = baninfo+BanIp.c_str()+" >>"+BanListFile;
system(baninfo.c_str());//add the ip to the BanListFile
Ipatables_rule = "/sbin/iptables -I INPUT -s ";
}
}
}
}
将脚本存为test.c文件,然后g++ test.c –o test.out进行编译
maybe168 回复于:2006-03-17 09:59:14
现在我也在找相关的抗ddos的软件。。由于是私用的,所以不能向公司申请资金购买现有的产品。
|