Vici python handling: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<pre> #!/usr/bin/python import vici import socket import collections import sys import getopt s = socket.socket(socket.AF_UNIX) s.connect("/var/run/charon.vic…“) |
Thomas (Diskussion | Beiträge) |
||
| Zeile 35: | Zeile 35: | ||
rep.next() | rep.next() | ||
rep.close() | rep.close() | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | |||
| + | <pre>#!/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]) | ||
</pre> | </pre> | ||
Aktuelle Version vom 19. Dezember 2017, 13:53 Uhr
#!/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])