python实现ipsec开权限实例

yipeiwu_com7年前Python基础

本文实例讲述了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文件夹

或者点击此处本站下载。

希望本文所述对大家的python程序设计有所帮助。

相关文章

django将网络中的图片,保存成model中的ImageField的实例

有这样的情形,django个人头像在model中是: class UserProfile(AbstractUser): """ 用户 """ name = models.Ch...

Python isinstance函数介绍

isinstance(object, classinfo) 判断实例是否是这个类或者object object是变量   classinfo 是类型(tuple,d...

Python的Django框架中的select_related函数对QuerySet 查询的优化

Python的Django框架中的select_related函数对QuerySet 查询的优化

1. 实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下: Models.py 内容如下: from django.db i...

Python生成一个迭代器的实操方法

Python生成一个迭代器的实操方法

Python怎么生成一个迭代器,对于需要处理大型数据来说,迭代器是必不可少的,这样可节省大量内存空间,更加合理操作数据。 首先我们打开编辑器,这里以Sublime text3作为示范,...

Python实现把回车符\r\n转换成\n

最近在做cocos2d-x的简明配置,发现有的朋友的文本编辑器,自动将\r\n截断成\n,(在unix上换行使用\n,windows上,换行使用的是\r\n)于是,写了这个脚本,希望对一...