diff --git a/test/test_masscanned.py b/test/test_masscanned.py index 11c75dd..2697e46 100755 --- a/test/test_masscanned.py +++ b/test/test_masscanned.py @@ -54,6 +54,7 @@ if HAS_IVRE: ZEEK_PASSIVERECON = bool(os.environ.get("USE_ZEEK")) else: ZEEK_PASSIVERECON = False +P0F = bool(os.environ.get("USE_P0F")) conf.verb = 0 # prepare configuration file for masscanned @@ -95,8 +96,14 @@ if ZEEK_PASSIVERECON: "redef tcp_content_deliver_all_orig = T; " f"redef PassiveRecon::HONEYPOTS += {{ {IPV4_ADDR}, [{IPV6_ADDR}] }}", ], - stdout=open("test/res/zeek_passiverecon.stdout", "w"), - stderr=open("test/res/zeek_passiverecon.stderr", "w"), + stdout=open(os.path.join(OUTDIR, "zeek_passiverecon.stdout"), "w"), + stderr=open(os.path.join(OUTDIR, "zeek_passiverecon.stderr"), "w"), + ) +if P0F: + p0f = subprocess.Popen( + ["p0f", "-i", IFACE, "-o", os.path.join(OUTDIR, "p0f_log.txt")], + stdout=open(os.path.join(OUTDIR, "p0f.stdout"), "w"), + stderr=open(os.path.join(OUTDIR, "p0f.stderr"), "w"), ) # run masscanned masscanned = subprocess.Popen( @@ -113,8 +120,8 @@ masscanned = subprocess.Popen( # if args in CLI, they are passed to masscanned + sys.argv[1:], env=dict(os.environ, RUST_BACKTRACE="1"), - stdout=open("test/res/masscanned.stdout", "w"), - stderr=open("test/res/masscanned.stderr", "w"), + stdout=open(os.path.join(OUTDIR, "masscanned.stdout"), "w"), + stderr=open(os.path.join(OUTDIR, "masscanned.stderr"), "w"), ) sleep(1) @@ -133,4 +140,7 @@ if TCPDUMP: if ZEEK_PASSIVERECON: zeek.kill() zeek.wait() +if P0F: + p0f.kill() + p0f.wait() sys.exit(result)