首页 > 学技术 > 技术网文 > 网络安全 > 正文

[精华] 求助! 以下特征是否是传说中的DDOS?


来源 chinaunix.net 酷勤网整理

今天运行了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的软件。。由于是私用的,所以不能向公司申请资金购买现有的产品。




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=582703
转载请注明作者名及原文出处



收藏本页到: