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])