python操作windows防火墙添加黑名单

Python015

python操作windows防火墙添加黑名单,第1张

SMC-Python Adding and Removing Blacklisted IP's

我正在尝试以编程方式将列入黑名单的IP添加到防火墙。 我尝试这样做,但出现错误。 我对python并不是那么陌生,但是我对阅读文档不是那么精通,所以如果有帮助的话,这里就是。

https://media.readthedocs.org/pdf/smc-python/latest/smc-python.pdf

https://smc-python.readthedocs.io/en/latest/index.html

1

2

3

4

5

6

7

8

9

10

11

12

13

from smc import session

from smc_monitoring.monitors.blacklist import BlacklistQuery

from smc.core.engines import Engine

from smc.administration.system import System

session.login(url='http://nope', api_key='supersecret')

print("logged in")

# # Method 1 ERROR

system = System()

print(system.smc_version)

system.blacklist(src='1.1.1.1/32', dst='2.2.2.2/32', duration=3600)

session.logout()

Traceback (most recent call last): File

"/home/matthew/PycharmProjects/GitSMC/BlacklistTest.py", line 12, in

system.blacklist(src='1.1.1.1/32', dst='2.2.2.2/32', duration=3600)

File

"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/administration/system.py",

line 159, in blacklist

json=prepare_blacklist(src, dst, duration, **kw))

File

"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/base/mixins.py",

line 32, in make_request

result = getattr(request, method)()

File

"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/api/common.py",

line 66, in create

return self._make_request(method='POST')

File

"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/api/common.py",

line 101, in _make_request

raise err

smc.api.exceptions.ActionCommandFailed: Invalid JSON format: At line 1

and column 17, end_point1 is not recognized as JSON attribute.

可以通过多种方法将其列入黑名单,既可以通过上面的系统入口点,也可以针对单个防火墙/群集单独进行黑名单。

如果使用系统入口点,则黑名单条目将转到所有SMC管理的防火墙。

根据该消息,您似乎正在使用较新版本的smc-python(即>6.5.x)。

在这种情况下,最好使用引擎级别黑名单:

1

2

3

4

5

6

from smc.elements.other import Blacklist

engine = Engine('myfw')

blacklist = Blacklist()

blacklist.add_entry(src='1.1.1.1/32', dst='2.2.2.2/32')

engine.blacklist_bulk(blacklist)

我刚刚注意到,系统入口点不具有SMC 6.5的黑名单功能(该库尚未在技术上经过完全认证),但是我将添加到development分支,因为6.5.x在 接下来的几周。

如果使用的SMC版本<= 6.4.x,则可以使用engine.blacklist或System.blacklist命令。

防火墙有网络防火墙和病毒防火墙。

网络防火墙不能完全用python做,低层的协议包过滤器需要用C和C++,

然后还要做一个服务,python上层管理程序可以与服务程序做通讯进行低层包的过滤规则设定。这东西都有现成的框架。国产的有,国外的也有。直接拿来用就可以。不用开发。

病毒防火墙也是一样,需要在文件API上做一个挂勾。当文件读写时会触发通知到你的服务里。

服务程序会检查相应的文件,通常会先拦截一下,检查完了再放开。

用python可以做病毒检查,但是速度太慢,估计加载后会让操作系统死机。

还有一种是WEB防火墙,需要使用插件。如果是ie插件,就不用说了,这个必须用C,还不容易稳定。不过chrome可以用JS,

firefox可以用它自带的那个语言。也可以用C。用python理论上也可以。价值不太大。

不过可以做一个python的WEB网站,做一个云计算,病毒数据查询之类的。

让python通过防火墙的方法:首先进入开始菜单,点击控制面板;然后找到Windows防火墙选项并单击它;在新出现的防火墙界面找到python,然后勾选python进行添加即可。

首先进入开始菜单,然后在菜单中找到控制面板,单击控制面板这个选项进入控制面板窗口界面。

进入到控制面板界面,在这个界面上可以看到系统自带的控制面板选项,找到Windows防火墙选项并单击它。

接着就进入了在Windows防火墙主页面,在这个主页面左上方找到允许程序或功能通过防火墙,然后单击这个选项。

这时候就到了允许程序通过Windows防火墙通信界面,这个界面上我们可以添加程序(添加你要通过防火墙的程序)。

注意:不要为陌生的软件程序开启通过防火墙的功能,这是很危险的事情,很容易被黑客利用而达到入侵的目的

添加要通过防火墙通信的软件

单击允许运行另一程序,这时候弹出来一个框,在框中上下移动选择python,选中这个程序然后单击添加按钮即可。

推荐课程:Python数据分析与展示(嵩天教授)