如何使用 Python 在 Windows 防火墙中读取和添加规则
How to Read and Add Rules in Windows Firewall with Python
我正在创建一项需要持续监控防火墙的服务,以防止毫无戒心的用户移除服务的大门。我的意图是使用 python.
来做到这一点
于是,我搜索了一下,没想到。
我可以使用 python 阅读并向 Windows 防火墙添加规则吗?
以管理员身份打开Python IDLE 或以管理员身份打开CMD 并加载python。目的是让 运行 您应该拥有管理员权限的程序。
def blockrule():
import os
c=input('Enter Directory in the format "C:\Program Files (x86)\Common Files\"(without ""): \n')
d=input('Enter prefix: ')
e=input('Enter \n"1" for inbound \n"2" for outbound \n"3" for both \nWithout ""\n')
a=[];b=[]
for root, dirs, files in os.walk(c):
for name in files:
a=a+[[(os.path.join(root,name))]]
for i in range(len(a)):
if a[i][0][-3:]=='exe':
b=b+a[i]
print('Number of files: '+str(len(a))+'\nNumber of .exe files: '+str(len(b)))
for i in range (len(b)):
name=d+str(i)
if e=='1':
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=in action=block program= "'+ b[i]+'" enable=yes profile=any')
if e=='2':
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=out action=block program= "'+ b[i]+'" enable=yes profile=any')
if e=='3':
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=in action=block program= "'+ b[i]+'" enable=yes profile=any')
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=out action=block program= "'+ b[i]+'" enable=yes profile=any')
我正在创建一项需要持续监控防火墙的服务,以防止毫无戒心的用户移除服务的大门。我的意图是使用 python.
来做到这一点于是,我搜索了一下,没想到。
我可以使用 python 阅读并向 Windows 防火墙添加规则吗?
以管理员身份打开Python IDLE 或以管理员身份打开CMD 并加载python。目的是让 运行 您应该拥有管理员权限的程序。
def blockrule():
import os
c=input('Enter Directory in the format "C:\Program Files (x86)\Common Files\"(without ""): \n')
d=input('Enter prefix: ')
e=input('Enter \n"1" for inbound \n"2" for outbound \n"3" for both \nWithout ""\n')
a=[];b=[]
for root, dirs, files in os.walk(c):
for name in files:
a=a+[[(os.path.join(root,name))]]
for i in range(len(a)):
if a[i][0][-3:]=='exe':
b=b+a[i]
print('Number of files: '+str(len(a))+'\nNumber of .exe files: '+str(len(b)))
for i in range (len(b)):
name=d+str(i)
if e=='1':
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=in action=block program= "'+ b[i]+'" enable=yes profile=any')
if e=='2':
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=out action=block program= "'+ b[i]+'" enable=yes profile=any')
if e=='3':
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=in action=block program= "'+ b[i]+'" enable=yes profile=any')
os.popen('netsh advfirewall firewall add rule name="'+name+'" dir=out action=block program= "'+ b[i]+'" enable=yes profile=any')