需要开启network connections,Windows Management Instrumentation和Windows Firewall/Internet Connection Sharing (ICS)服务
代码保存为fire.cmd
可以安装windows Resource Kit建立自定义服务,方法是:1.安装kit到C:\Program Files\Resource Kit 2.运行cmd 3.cd C:\Program Files\Resource Kit 4.instsrv.exe FireRuleSrv c:\PROGRA~1\RESOUR~1\srvany.exe 5.打开regedit 6.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FireRuleSrv 7.新建项Parameters 8.新建字符串AppDirectory,编辑为fire.cmd的目录,比如e:\ 9.新建字符串Application,编辑为fire.cmd 10.启动FireRuleSrv并设置为自动启动
功能:禁用ip规则,每隔1分钟检查一次,如果要重置防火墙,cmd输入:netsh firewall reset
@echo off
setlocal enabledelayedexpansion
goto loop
:loop
set num=0
netstat -aon>net.txt
for /f "tokens=*" %%i in (net.txt) do (
set row=%%i
if !num! gtr 1 (
for /f "tokens=1,2,3,4,5* delims= " %%a in ("!row!") do (
set flag=%%a
if "!flag!" equ "TCP" (
set fadd=%%c
for /f "tokens=1,2* delims=:" %%m in ("!fadd!") do (
set addr=%%m
if not "!addr!"=="0.0.0.0" (
if not "!addr!"=="127.0.0.1" (
set nu=0
for /f %%k in ('nslookup !addr!') do (
set /a nu+=1
)
if !nu! leq 5 (
netsh firewall set service type = all mode = disable scope = custom addresses = !addr!
echo !addr!>>addr.txt
)
)
)
)
)
)
)
set /a num+=1
)
ping -n 60 127.0>nul
goto loop