python ipsec开权限实现代码

发布时间:2020-02-08编辑:脚本学堂
有关python ipsec开权限的实现方法,支持批量添加,同一个列表里避免重复的规则,解决了命令行工具netsh ipsec static add filter不支持批量添加的问题,一起了解下。

python实现ipsec开权限的方法,弥补了windows自带的命令行工具netsh ipsec static add filter不支持批量添加及添加重复规则的不足。

python实现ipsec开权限的方法

windows自带的命令行工具netsh ipsec static add filter不支持批量添加,还会添加重复的规则进去。

用python编写了ipsecset解决了上述问题,支持批量添加,同一个列表里避免重复的规则。
为了方便使用,已编译成exe:

语法:
参数和netsh ipsec static add filter的参数是一样的,不区分大小写

必要参数:
 

srcaddr=(me/any/特定ip/网段)
dstaddr=(me/any/特定ip/网段)
dstport=(0/特定端口)

默认参数:
 

srcport=0
srcmask=255.255.255.255
dstmask=255.255.255.255
protocol=TCP
mirrored=YES
filterlist="选用规则"
description="add by script {time_now}"

批量操作:
“-"和","两种操作符,可混合使用
支持批量操作的参数:srcport,dstport,srcaddr,dstaddr
其中srcaddr和dstaddr仅最后一个段支持
例如:
srcport=1000-1003,1007,1009
srcaddr=1.1.1.10-13,15

例子:
 

ipsecset srcport=1.1.1.1 dstport=2.2.2.2-30,31 dstport=8080 filterlist="基础规则"
ipsecset srcport=me dstport=any dstport=81-85,87
ipsecset srcport=me dstport=10.1.1.0 dstmask=255.255.255.0  dstport=6161 protocol=udp
 

代码保存在github上 https://github.com/fmnisme/ipsecset
编译后的文件保存在dist文件夹。