mirror of https://github.com/Kkevsterrr/geneva
Fixed plumbing for plugins to specify interface to the engine
This commit is contained in:
parent
4518cee47f
commit
a5adc94598
|
@ -41,6 +41,7 @@ class ClientPlugin(Plugin):
|
||||||
choices=("debug", "info", "warning", "critical", "error"),
|
choices=("debug", "info", "warning", "critical", "error"),
|
||||||
help="Sets the log level")
|
help="Sets the log level")
|
||||||
parser.add_argument('--port', action='store', type=int, help='port to run this server on')
|
parser.add_argument('--port', action='store', type=int, help='port to run this server on')
|
||||||
|
parser.add_argument('--interface', action='store', help='interface to run the engine on for client-side training')
|
||||||
|
|
||||||
parser.add_argument('--wait-for-censor', action='store_true', help='send control packets to the censor to get startup confirmation')
|
parser.add_argument('--wait-for-censor', action='store_true', help='send control packets to the censor to get startup confirmation')
|
||||||
|
|
||||||
|
@ -60,6 +61,7 @@ class ClientPlugin(Plugin):
|
||||||
eid = args.get("environment_id")
|
eid = args.get("environment_id")
|
||||||
use_engine = not args.get("no_engine")
|
use_engine = not args.get("no_engine")
|
||||||
port = args.get("port")
|
port = args.get("port")
|
||||||
|
interface = args.get("interface")
|
||||||
server_side = args.get("server_side")
|
server_side = args.get("server_side")
|
||||||
assert port, "Need to specify a port in order to launch a sniffer"
|
assert port, "Need to specify a port in order to launch a sniffer"
|
||||||
|
|
||||||
|
@ -69,7 +71,7 @@ class ClientPlugin(Plugin):
|
||||||
with actions.sniffer.Sniffer(pcap_filename, port, logger) as sniff:
|
with actions.sniffer.Sniffer(pcap_filename, port, logger) as sniff:
|
||||||
|
|
||||||
# Conditionally initialize the engine
|
# Conditionally initialize the engine
|
||||||
with engine.Engine(port, args.get("strategy"), server_side=False, environment_id=eid, output_directory=output_path, log_level=args.get("log", "info"), enabled=use_engine) as eng:
|
with engine.Engine(port, args.get("strategy"), server_side=False, environment_id=eid, output_directory=output_path, log_level=args.get("log", "info"), interface=interface, enabled=use_engine) as eng:
|
||||||
# Wait for the censor to start up, if one is running
|
# Wait for the censor to start up, if one is running
|
||||||
if args.get("wait_for_censor"):
|
if args.get("wait_for_censor"):
|
||||||
self.wait_for_censor(args.get("server"), port, eid, output_path)
|
self.wait_for_censor(args.get("server"), port, eid, output_path)
|
||||||
|
|
|
@ -45,6 +45,7 @@ class ServerPlugin(Plugin):
|
||||||
choices=("debug", "info", "warning", "critical", "error"),
|
choices=("debug", "info", "warning", "critical", "error"),
|
||||||
help="Sets the log level")
|
help="Sets the log level")
|
||||||
parser.add_argument('--port', action='store', type=int, help='port to run this server on')
|
parser.add_argument('--port', action='store', type=int, help='port to run this server on')
|
||||||
|
parser.add_argument('--interface', action='store_true', help='interface to run the engine on for server-side training')
|
||||||
|
|
||||||
parser.add_argument('--external-server', action='store_true', help="use an external server for testing.")
|
parser.add_argument('--external-server', action='store_true', help="use an external server for testing.")
|
||||||
|
|
||||||
|
@ -70,6 +71,7 @@ class ServerPlugin(Plugin):
|
||||||
eid = args["environment_id"]
|
eid = args["environment_id"]
|
||||||
use_engine = not args.get("no_engine", False)
|
use_engine = not args.get("no_engine", False)
|
||||||
port = args["port"]
|
port = args["port"]
|
||||||
|
interface = args.get("interface")
|
||||||
server_side = args["server_side"]
|
server_side = args["server_side"]
|
||||||
log_level = args["log"]
|
log_level = args["log"]
|
||||||
strategy = args.get("strategy", "")
|
strategy = args.get("strategy", "")
|
||||||
|
@ -94,7 +96,7 @@ class ServerPlugin(Plugin):
|
||||||
self.sniffer = actions.sniffer.Sniffer(pcap_filename, int(port), logger).__enter__()
|
self.sniffer = actions.sniffer.Sniffer(pcap_filename, int(port), logger).__enter__()
|
||||||
|
|
||||||
# Conditionally initialize the engine
|
# Conditionally initialize the engine
|
||||||
self.engine = engine.Engine(port, strategy, server_side=True, environment_id=eid, output_directory=output_path, log_level=args.get("log", "info"), enabled=use_engine, forwarder=forwarder).__enter__()
|
self.engine = engine.Engine(port, strategy, server_side=True, environment_id=eid, output_directory=output_path, log_level=args.get("log", "info"), enabled=use_engine, interface=interface, forwarder=forwarder).__enter__()
|
||||||
|
|
||||||
# Run the plugin
|
# Run the plugin
|
||||||
self.server_proc = multiprocessing.Process(target=self.start_thread, args=(args, logger))
|
self.server_proc = multiprocessing.Process(target=self.start_thread, args=(args, logger))
|
||||||
|
|
Loading…
Reference in New Issue