2015-10-30 9 views
2

Я создаю службу, которая должна постоянно контролировать брандмауэр, чтобы не допустить, чтобы ничего не подозревающие пользователи удалили двери службы. Мое намерение - сделать это с помощью python.Как читать и добавлять правила в брандмауэре Windows с помощью Python

Итак, я искал его и не думал.

Могу ли я читать и добавлять правила для брандмауэра Windows с помощью python?

ответ

0

Открыть 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') 
+0

При добавлении исходного кода на ваш пост, пожалуйста, используйте требуемые украшения, чтобы пометить текст как код, а также, чтобы отделить абзац от кодовых строк. Пожалуйста, прочитайте «Справка Markdown», чтобы получить полные спецификации. Также, пожалуйста, напишите, что именно делает ваш код. – PazO