python实现ipsec开权限实例

yipeiwu_com5年前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程序设计有所帮助。

相关文章

Python3使用requests模块实现显示下载进度的方法详解

本文实例讲述了Python3使用requests模块实现显示下载进度的方法。分享给大家供大家参考,具体如下: 一、配置request 1. 相关资料 请求关键参数:stream=True...

Django开发中复选框用法示例

本文实例讲述了Django开发中复选框用法。分享给大家供大家参考,具体如下: 一、查询数据库遍历所有的复选框 1、python查询数据库所有的tag # 新增文章 def add(r...

Python弹出输入框并获取输入值的实例

使用自带的Tkinter模块,简单的弹输入框示例,返回输入值 from Tkinter import * import tkMessageBox def getInput(t...

Django Aggregation聚合使用方法解析

在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序。Djngo聚合就能满足这些要求。 以...

Python字符串拼接六种方法介绍

Python字符串拼接的6种方法: 1.加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用“+”来连接两个字符串; print...