前两天用来批量封 CC 攻击 IP 的,发现网上下载点很少,资料也不全,于是整理了一下发了出来……

用这个批量封IP缺点很严重,如果IP数达到几百个,处理进度会越来越慢,最后巨慢、巨慢!!!!

而且还有更严重的缺陷,你封禁多少个 IP 就会添加多少个过滤、屏蔽规则,删掉该条策略之后,还不会自动删掉这些规则,更蛋疼的是手动还不能批量删,导致残留巨量无用规则,严重影响以后新建策略……

介于以上这些严重缺点,本人强烈推荐使用:IIS 批量封禁 IP 地址、网站被 CC 攻击的解决办法

下载地址:IPSecCmd [IP安全策略命令行版]

(压缩包内有完整说明和批量封IP的批处理例子)


ipseccmd:

例子:ipseccmd -w REG -p "DDosBanIP" -r "%%i" -f %%i/255.255.255.255=0/255.255.255.255:: -n BLOCK -x

作用:禁止某个IP访问本机。

实例操作:

1.禁止本机IE浏览器访问任何网站

ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 0/255.255.255.255=*/255.255.255.255:80:tcp -n BLOCK -x

2.禁止本机任何端口访问网络

ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 0/255.255.255.255=*/255.255.255.255:: -n BLOCK -x

3.禁止某IP对某IP服务器任何端口的访问(可以屏蔽发动CC攻击的IP)

ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 61.152.144.75/255.255.255.255=0/255.255.255.255:: -n BLOCK -x

ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 换成攻击者的IP/255.255.255.255=0/255.255.255.255:: -n BLOCK -x

4.屏蔽一个特定的IP子网

ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 202.152.7.0/255.255.255.0=0/255.255.255.255:: -n BLOCK -x

ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 202.152.0.0/255.255.0.0=0/255.255.255.255:: -n BLOCK -x

5.批量封IP

@for /f %%i in (1.txt) do (ipseccmd -w REG -p "CCstop" -r "%%i" -f %%i/255.255.255.255=0/255.255.255.255:: -n BLOCK -x)

把要封的IP放到1.txt中

----------------------------------------------------------------------------------------------------

ipseccmd 可以理解为ip安全策略的命令行版。可以使用命令参数来设置各种各样的ip安全策略。

常用参数

-w reg 表明将配置写入注册表,重启后仍有效。

-p 指定策略名称,如果名称存在,则将该规则加入此策略,否则创建一个。

-r 指定规则名称。

-n 指定操作,可以是block、pass或者inpass,必须大写。

-x 激活该策略。

-y 使之无效。

-o 删除-p指定的策略。

高级参数

-f 设置过滤规则。格式为

a.b.c.d/mask:port=a.b.c.d/mask:port:protocol。

其中=前面的是源地址,后面是目的地址。如果使用+,则表明此规则是双向的。

ip地址中用*代表任何ip地址,0代表我自己的ip地址。还可以使用通配符,比如144.92.*.* 等效于144.92.0.0/255.255.0.0。

-lan 指定规则应用为局域网。

-dialup 指定规则应用为广域网。

+   表示双向。

*   表示所有ip

0   表示自己的ip

4.1禁止以任何协议访问某ip的任何端口

ipseccmd -w reg -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:: -n block -x

此段代码的含义:设置名为“clxp safe policy”的ip安全策略,添加名为"disable connect ip"的规则。

筛选对象为:我的ip和202.108.22.5这个ip(255.255.255.255的意思就是单独一个ip。)

筛选操作为:禁止访问

端口:所有

协议:所有

测试是否生效:此规则为我以任何ip任何端口都无法访问202.108.22.5这个ip,这个ip是百度的。

直接以http访问,应该是访问不到的,用的是tcp协议。目标端口80

直接ping 202.108.22.5,应该是ping不通的,用的是icmp协议。

4.2禁止访问某ip的某端口

ipseccmd -w reg -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:80:tcp -n block -x

此段代码的含义:设置名为“clxp safe policy”的ip安全策略,添加名为"disable connect ip"的规则。

筛选对象为:我的ip和202.108.22.5这个ip(255.255.255.255的意思就是单独一个ip。)

筛选操作为:禁止访问

端口:80

协议:tcp(必须指定端口.感谢易拉罐提出错误.)

测试是否生效:http无法访问80端口。但是可以访问其他端口。因为协议选的是tcp,ping是可以通的。

4.3禁止使用tcp协议访问某ip的某端口

ipseccmd -w reg -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:80:tcp -n block -x

此段代码的含义:设置名为“clxp safe policy”的ip安全策略,添加名为"disable connect ip"的规则。

筛选对象为:我的ip和202.108.22.5这个ip(255.255.255.255的意思就是单独一个ip。)

筛选操作为:禁止访问

端口:80

协议:tcp

测试是否生效:无法使用http访问,但是可以ping通。

4.4双向限制。

什么是双向限制呢?就是我不能用tcp协议访问你,你也不能用tcp协议访问我。

我不能用访问你的80端口,你也不能访问我的80端口。

要实现这个就简单了。只要把上面代码里的“=”等号,换为“+”加号就可以了。

4.5禁止所有人访问我的某的端口。

ipseccmd -w reg -p "clxp safe policy" -r "block tcp/135" -f *=0:135:tcp -n block -x

4.6禁止ping。

针对任何网络都禁止ping入和ping出。

ipseccmd -w reg -p "clxp safe policy" -r "disable out ping" -f *=0::icmp -n block -x

局域网禁止ping入。

ipseccmd -w reg -p "clxp safe policy" -r "disable out ping" -f *=0::icmp -n block -x -lan

来自死性不改,今天正好用了一下

在上来一段屏蔽常用端口的bat

@echo off
gpupdate >nul
rem for client only
ipseccmd -w reg -p "hfut_secu" -o -x >nul
ipseccmd -w reg -p "hfut_secu" -x >nulipseccmd -w reg -p "hfut_secu" -r "block udp/137" -f *+0:137:udp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block udp/138" -f *+0:138:udp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/139" -f *+0:139:tcp -n block -x >nul 
ipseccmd -w reg -p "hfut_secu" -r "block tcp/23" -f *+0:23:tcp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block udp/1433" -f *+0:1434:udp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/3389" -f *+0:3389:tcp -n block -x
ipseccmd -w reg -p "hfut_secu" -r "block tcp/135" -f *+0:135:tcp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block udp/135" -f *+0:135:udp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/445" -f *+0:445:tcp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block udp/445" -f *+0:445:udp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/1025" -f *+0:1025:tcp -n block -x >nul<这条用万象的慎用>
ipseccmd -w reg -p "hfut_secu" -r "block udp/139" -f *+0:139:udp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/1068" -f *+0:1068:tcp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/5554" -f *+0:5554:tcp -n block -x >nul
ipseccmd -w reg -p "hfut_secu" -r "block tcp/9995" -f *+0:9995:tcp -n block -x >nul
exit

----------------------------------------------------------------------------------------------------

IPSec

首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。

TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。下面就说说如何在命令行下控制IPSec。

2000下用ipsecpol。WIN2003下直接就是IPSEC命令。遗憾的是,它们都不是系统自带的。

ipseccmd在xp系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。

而且,要使用ipsecpol还必须带上另外两个文件:ipsecutil.dll和text2pol.dll。三个文件一共119KB。

winxp命令行下ipsec屏蔽不安全的端口

IPSec叫做Internet协议安全。主要的作用是通过设置IPsec规则,提供网络数据包的加密和认证。

不过这样高级的功能我无缘消受,只是用到了筛选功能罢了。

通过设置规则进行数据包的筛选器,可以屏蔽不安全的端口连接。

你可以运行gpedit.msc,在Windows设置>>计算机设置>>IP安全设置中进行手工设置。更加简单的方法是使用ipseccmd命令。

ipseccmd在WindowsXP中没有默认安装,他在XP系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中。

在Windows2000中它的名字叫做ipsecpol,默认应该也没有安装,你自己找找看吧。

使用ipseccmd设置筛选,它的主要作用是设置你的筛选规则,为它指定一个名称,同时指定一个策略名称,所谓策略不过是一组筛选规则的集合而已。

比如你要封闭TCP135端口的数据双向收发,使用命令:

ipseccmd -w REG -p "Block default ports" -r "Block TCP/135" -f *+0:135:TCP -n BLOCK -x

这里我们使用的是静态模式,常用的参数如下:

-w reg 表明将配置写入注册表,重启后仍有效。

-p 指定策略名称,如果名称存在,则将该规则加入此策略,否则创建一个。

-r 指定规则名称。

-n 指定操作,可以是BLOCK、PASS或者INPASS,必须大写。

-x 激活该策略。

-y 使之无效。

-o 删除-p指定的策略。

其中最关键的是-f。它用来设置你的过滤规则,格式为A.B.C.D/mask:port=A.B.C.D/mask:port:protocol。其中=前面的是源地址,后面是目的地址。

如果使用+,则表明此规则是双向的。IP地址中用*代表任何IP地址,0代表我自己的IP地址。

还可以使用通配符,比如144.92.*.* 等效于 144.92.0.0/255.255.0.0。使用ipseccmd /?可以获得它的帮助。

如果希望将规则删除,需要先使用-y使之无效,否则删除后它还会持续一段时间。参考下面代码清单。

好了,这样你就可以使用ipsec根据自己的需要方便得自己定制你的筛选规则了。

如果有不安全的端口,或者你不太喜欢的IP地址,你就可以把它们封锁在你的大门之外。

留言评论(旧系统):

董安朝 @ 2013-04-06 22:34:33

被禁止IP要开启怎么写 @sc config PolicyAgent start= AUTO @net start PolicyAgent @for /f %%i in (ip.txt) do (ipseccmd -w REG -p "CCstop" -r "%%i" -f %%i/255.255.255.255=0/255.255.255.255:: -n BLOCK -x) QQ:215528100,请教

本站回复:

-y 使之无效。 -o 删除-p指定的策略。

佚名 @ 2015-10-12 23:07:23

请在这里填写留言内容,最长不超过 1000 字。

本站回复:

[暂无回复]