netsh,在文本文件中阻止所有 IP 地址?

netsh,在文本文件中阻止所有 IP 地址?

有没有办法可以将.txt文件(每行包含 IP 地址)导入 Windows 防火墙?

我希望每个 IP 地址都被完全阻止。这也将提供一种简单的方法,以便.txt稍后在文件中取消阻止 IP 地址(与 结合使用netsh)。

我目前正在使用 Peerblock,但它有时会对 CPU 造成一些负载。

答案1

像这样吗?

另存为blockit.bat

@echo off
if "%1"=="list" (
  netsh advfirewall firewall show rule Blockit | findstr RemoteIP
  exit/b
)

:: Deleting existing block on ips
netsh advfirewall firewall delete rule name="Blockit"

:: Block new ips (while reading them from blockit.txt)
for /f %%i in (blockit.txt) do (
  netsh advfirewall firewall add rule name="Blockit" protocol=any dir=in action=block remoteip=%%i
  netsh advfirewall firewall add rule name="Blockit" protocol=any dir=out action=block remoteip=%%i
)

:: call this batch again with list to show the blocked IPs
call %0 list

使用您的 IP创建一个blockit.txt以进行阻止和运行blockit

您可以运行blockit list来检查当前哪些 IP 被阻止了。

注意:这需要以管理员身份运行。

编辑:不知道您是否希望阻止传出或传入流量,因此我添加了和dir=indir=out您可以删除其中一个(或保留两个方向的流量)。

相关内容