web-dev-qa-db-ja.com

netsh、テキストファイル内のすべてのIPアドレスをブロックしますか?

.txtファイル(各行にIPアドレスを含む)をWindowsファイアウォールにインポートする方法はありますか?

各IPアドレスを完全にブロックしたい。これにより、後で.txtファイルのIPアドレスのブロックを解除する簡単な方法も提供されます(netshと組み合わせて)。

現在Peerblockを使用していますが、CPUに負荷がかかる場合があります。

5
user1961685

このようなもの?

これを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の両方を追加しました。どちらか一方を削除できます(または両方を両方向に残すことができます)。

5
Rik