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

Python012

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命令。

一 首先要了解什么是盗链

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或者提供很少的资源,而真正的服务提供商却得不到任何的利益。

最熟悉的,就是盗版网络小说网站,可能盗链起点中文网等的小说内容。

根据盗链的形式,可简单地分成2类,常规盗链和分布式盗链。 常规盗链,只针对某个或某些网站的链接。在自己的页面嵌入别人的链接即可。分布式盗链,互联网上任何一台机器都可成为盗链的对象。服务提供商一般在后台设置专门程序(spider,爬虫)在网上抓取有用的链接,然后存储到自己的数据库中,而对于最终用户的每次访问,都将其转化为对已有数据库的查询。被查询到的URL就是被盗链的对象。由于对文件的访问已经被浏览器屏东掉了,最终用户感觉不到所访问的链接是被盗取的链接。

二 反盗链

原始方式, 修改文件或目录的名称

限制引用页, 仅限自己站内提交,或自己信任的站点提交的。否则视为盗链

文件伪装,用得最多的技术,一般结合服务器动态脚本,。实际上用户请求的文件地址,只是一个经过伪装的脚本文件。这个脚本文件会对用户的请求作认证。一般会检查session,cookie或者http_referer作为判断是否为盗链的依据。而真实的文件实际隐藏在用户不能够访问的地方,只有用户通过验证以后才会返回给用户。

加密认证, 先从客户端获取用户信息,根据信息和用户请求的文件名一起加密成session id作身份验证。成功后,才把用户需要的文件传送给客户。对分布式盗链非常有效。

随机附加码,