Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SMC Python添加和删除黑名单IP';s_Python - Fatal编程技术网

SMC Python添加和删除黑名单IP';s

SMC Python添加和删除黑名单IP';s,python,Python,我正试图通过编程将一个列入黑名单的IP添加到防火墙。我尝试了这个,但是得到了一个错误。我对python并不是那么陌生,但我对阅读文档并不那么熟练,所以如果有帮助的话,这里是 回溯(最近一次调用上次):文件 “/home/matthew/PycharmProjects/GitSMC/blacklistest.py”,第12行,in 系统黑名单(src='1.1.1.1/32',dst='2.2.2/32',持续时间=3600) 文件 “/home/matthew/PycharmProject

我正试图通过编程将一个列入黑名单的IP添加到防火墙。我尝试了这个,但是得到了一个错误。我对python并不是那么陌生,但我对阅读文档并不那么熟练,所以如果有帮助的话,这里是

回溯(最近一次调用上次):文件 “/home/matthew/PycharmProjects/GitSMC/blacklistest.py”,第12行,in

系统黑名单(src='1.1.1.1/32',dst='2.2.2/32',持续时间=3600)

文件 “/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site packages/smc/administration/system.py”, 第159行,在黑名单中 json=准备_黑名单(src、dst、持续时间,**千瓦))

文件 “/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site packages/smc/base/mixins.py”, 第32行,在make_请求中 结果=getattr(请求、方法)()

文件 “/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site packages/smc/api/common.py”, 创建中的第66行 返回self.\u发出请求(method='POST')

文件 “/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site packages/smc/api/common.py”, 第101行,输入请求 提出错误

smc.api.exceptions.ActionCommandFailed:第1行的JSON格式无效 第17列,end_point1不被识别为JSON属性


有多种方法可以将其列入黑名单,可以通过如上所述的系统入口点,也可以单独针对单个防火墙/集群。 如果使用系统入口点,黑名单条目将进入所有SMC管理的防火墙。 根据消息,您可能正在使用更新版本的smc python(即>6.5.x)

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

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)
我刚刚注意到系统入口点没有SMC6.5的黑名单功能(该库在技术上还没有完全认证),但我将添加到开发分支中,因为6.5.x将在未来几周内得到正式支持

如果您使用的是SMC版本
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)