白名单模式的监听并自添加防火墙批处理FOR WIN7/10

使用方法:
1.保存为后缀名bat
2.管理员运行
3.白名单模式
4.黑名单加入白名单要1.停止程序2.netsh advfirewall firewall delete rule name=all 3.程序中加入if not xxx
5.防火墙域配置,专用配置,公用配置文件出入站连接设置为允许

更新内容:
1.添加允许规则
2.优化了netstat命令,判断规则
3.添加循环退出命令

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
goto loop 
:loop
set num=0
netstat -aonp tcp>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 fadd=%%c
for /f "tokens=1,2* delims=:" %%m in ("!fadd!") do (
set addr=%%m
set port=%%n
if not "!addr!"=="127.0.0.1" (
if not "!addr!"=="0.0.0.0" (
for /f "tokens=1,2* delims=." %%w in ("!addr!") do (
call :ipGPS !addr!
)
)
)
)
)
)
set /a num+=1
)
ping -n 60 127.0>nul
goto loop
:ipGPS
set adr=%1
echo Set objXML = CreateObject("MSXML2.ServerXMLHTTP")>ipFind.vbs
echo Set objFSO = CreateObject("Scripting.FileSystemObject")>>ipFind.vbs
echo objXML.open "GET","https://www.ip-address.org/lookup/ip-locator.php?track=!adr!",false>>ipFind.vbs
echo objXML.send()>>ipFind.vbs
echo Set objFile = objFSO.CreateTextFile("ipFind.txt",true)>>ipFind.vbs
echo objFile.close>>ipFind.vbs
echo Set objTextFile = objFSO.OpenTextFile ("ipFind.txt", 8, True)>>ipFind.vbs
echo objTextFile.WriteLine(objXML.responseText)>>ipFind.vbs
echo objTextFile.Close>>ipFind.vbs
start /wait wscript /b /t:600 ipFind.vbs
set rownumber=1
if exist ipFind.txt (
FOR /F "tokens=*" %%i in (ipFind.txt) do (
if "!rownumber!"=="276" (
FOR /F "tokens=1,2* delims=:" %%a in ("%%i") do (
set group=%%b
FOR /F "tokens=1,2,3* delims= " %%x in ("%%b") do (
if "%%z"=="" (
set char2=%%y
set server=!char2:~0,-6!
) else (
set server=%%y
)
set isLocal=false
if not "!group:~1,-6!"=="Aliyun Computing Co." (
if not "!group:~1,-6!"=="Microsoft Corporation" (
if not "!group:~1,-6!"=="China Telecom Nanjing IDC network" (
if not "!group:~1,-6!"=="Cloudflare" (
if not "!group:~1,-6!"=="Hangzhou Alibaba Advertising Co.,Ltd." (
if not "!group:~1,-6!"=="ChangZhou Bitcomm Software Technology Co., Limited" (
if not "!group:~1,-6!"=="Oracle Corporation" (
if not "!group:~1,-6!"=="Oracle Public Cloud" (
if not "!group:~1,-6!"=="Akamai Technologies" (
if not "!group:~1,-6!"=="" (
set isLocal=true
)
)
)
)
)
)
)
)
)
)
if "!isLocal!"=="true" (
set isBL=false
if exist blacklist.txt (
for /f "tokens=1,2,3* delims= " %%m in (blacklist.txt) do (
set srv=%%m
for /f "tokens=1,2,3,4* delims=:" %%r in ("!srv!") do (
set addrs=%%s:%%t
if "!addrs!"=="!addr!:!port!" (
set isBL=true
)
)
)
)
if "!isBL!"=="false" (
netsh advfirewall firewall add rule name=denyIn-!adr! protocol=tcp dir=in action=block remoteip=!adr! remoteport=!port!
netsh advfirewall firewall add rule name=denyOut-!adr! protocol=tcp dir=out action=block remoteip=!adr! remoteport=!port!
echo ip地址:!addr!:!port!  组织:!group:~0,-6!>>blacklist.txt
echo.>>blacklist.txt
echo.>>blacklist.txt
)
) else (
set isWL=false
if exist whitelist.txt (
for /f "tokens=1,2,3* delims= " %%m in (whitelist.txt) do (
set srv=%%m
for /f "tokens=1,2,3,4* delims=:" %%r in ("!srv!") do (
set addrs=%%s:%%t
if "!addrs!"=="!addr!:!port!" (
set isWL=true
)
)
)
)
if "!isWL!"=="false" (
netsh advfirewall firewall add rule name=allowIn-!adr! protocol=tcp dir=in action=allow remoteip=!adr! remoteport=!port!
netsh advfirewall firewall add rule name=allowOut-!adr! protocol=tcp dir=out action=allow remoteip=!adr! remoteport=!port!
echo ip地址:!addr!:!port!  组织:!group:~0,-6!>>whitelist.txt
echo.>>whitelist.txt
echo.>>whitelist.txt
)
)
)
)
goto :eof
)
set /A rownumber=rownumber+1
)
)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 MySQL 中,可以通过修改 `my.cnf` 配置文件来添加名单,具体步骤如下: 1. 打开 `my.cnf` 配置文件,该文件一般位于 MySQL 安装目录下的 `etc` 文件夹中。 2. 找到 `[mysqld]` 部分,在其中添加以下内容: ``` # 允许连接的 IP 地址名单 bind-address=0.0.0.0 # 允许的 IP 地址列表 # 格式为 IP 地址/子网掩码,例如:192.168.1.0/24 表示允许 192.168.1.* 的所有 IP 地址连接 # 多个 IP 地址可以用逗号分隔,例如:192.168.1.0/24, 10.0.0.0/8 # 如果不需要进行 IP 地址过滤,可以将以下两行注释掉 # skip-name-resolve # bind-address=0.0.0.0 ``` 其中,`bind-address` 指定了 MySQL 监听的 IP 地址,`0.0.0.0` 表示允许所有 IP 地址连接。`skip-name-resolve` 表示禁用 DNS 反解析,可以提高连接速度和安全性。 3. 保存 `my.cnf` 配置文件,并重启 MySQL 服务使配置生效。 4. 在客户端连接 MySQL 时,可以指定要连接的 IP 地址。如果要进行 IP 地址过滤,可以根据上述配置文件中的名单进行设置。例如,连接命令为: ``` mysql -h 192.168.1.100 -u username -p ``` 其中,`-h` 参数指定了要连接的 IP 地址(假设该 IP 地址在名单中),`-u` 和 `-p` 分别指定了要使用的用户名和密码。 注意,MySQL 的名单配置可以提高安全性,但也可能会增加管理成本。如果需要添加或删除 IP 地址,需要修改配置文件并重启 MySQL 服务,因此需要在安全性和管理成本之间权衡取舍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

humors221

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值