netsh, блокувати всі IP-адреси у текстовому файлі?


4

Чи є спосіб імпортувати .txtфайл (з IP-адресами у кожному рядку) у брандмауер Windows?

Я хочу, щоб кожна з IP-адрес була повністю заблокована. Це також забезпечить простий спосіб розблокувати IP-адресу у .txtфайлі пізніше (у поєднанні з netsh).

Зараз я використовую Peerblock, але іноді це спричиняє навантаження на процесор.


Я думаю, ви повинні бути в змозі зробити це з повноваженнями ...
МДТ Гай

Відповіді:


5

Щось на зразок цього?

Збережіть це як 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

Створіть blockit.txtсвій IP-адрес для блокування та запуску blockit.

Ви можете запустити, blockit listщоб перевірити, які IP-адреси заблоковані на даний момент.

Примітка. Це потрібно запустити як адміністратор.

Редагувати: Не знав, чи потрібно заблокований вихідний або вхідний трафік, тому я додав і те, dir=inі dir=out. Можна видалити те чи інше (або залишити їх обома в обох напрямках).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.