Vici python handling
Version vom 19. Dezember 2017, 13:53 Uhr von Thomas (Diskussion | Beiträge)
#!/usr/bin/python
import vici
import socket
import collections
import sys
import getopt
s = socket.socket(socket.AF_UNIX)
s.connect("/var/run/charon.vici")
v = vici.Session(s)
options, argument = getopt.getopt(sys.argv[1:], 't:i:' )
if len(argument) == 0 and len(options) == 0:
for vpn_conn in v.list_sas():
for key in vpn_conn:
try:
print 'conn:', key
except:
pass
else:
for opt, arg in options:
if opt in ('-t'):
conn = arg
sa = collections.OrderedDict()
sa['ike'] = conn
rep = v.terminate(sa)
rep.next()
rep.close()
elif opt in ('-i'):
conn = arg
sa = collections.OrderedDict()
sa['child'] = conn
rep = v.initiate(sa)
rep.next()
rep.close()
#!/usr/bin/python
import vici
import socket
import collections
v = vici.Session()
ver = v.version()
stats = v.stats()
lists = v.list_conns()
def check_dict(**kwargs):
if kwargs is not None:
for key, value in kwargs.iteritems():
if isinstance(value, dict):
print "=== " + key + " ==="
check_dict(**value)
print
else:
print "%s == %s" %(key,value)
for conn in v.list_conns():
for key in conn:
check_dict(**conn[key])