From 1f87648ba3c1aabdd167b955d5f10e2c7613c691 Mon Sep 17 00:00:00 2001 From: Matthias Jaros Date: Mon, 16 Mar 2026 16:21:32 +0100 Subject: Added cli option for worker threads per host --- src/main/java/com/it_jaros/networkScanner/Scanner.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/it_jaros/networkScanner/Scanner.java') diff --git a/src/main/java/com/it_jaros/networkScanner/Scanner.java b/src/main/java/com/it_jaros/networkScanner/Scanner.java index d219307..a013296 100644 --- a/src/main/java/com/it_jaros/networkScanner/Scanner.java +++ b/src/main/java/com/it_jaros/networkScanner/Scanner.java @@ -25,11 +25,13 @@ public class Scanner { private final Semaphore socketLimit; private final int timeoutInMillis; private final long delayInNanos; + private final int maxWorkersPerHost; - public Scanner(int socketLimit, int timeoutInMillis, int delayInMillis) { + public Scanner(int socketLimit, int timeoutInMillis, int delayInMillis, int maxWorkersPerHost) { this.timeoutInMillis = timeoutInMillis; this.delayInNanos = TimeUnit.MILLISECONDS.toNanos(Math.max(0, delayInMillis)); this.socketLimit = new Semaphore(socketLimit); + this.maxWorkersPerHost = maxWorkersPerHost; } public List scan(ScanOptions target) { @@ -64,7 +66,7 @@ public class Scanner { private ScanResult scanTarget(String target, String ports) { PortRange portRange = new PortRange(ports); AtomicLong portSlotFactory = new AtomicLong(System.nanoTime()); - Semaphore maxWorkers = new Semaphore(1000); + Semaphore maxWorkers = new Semaphore(maxWorkersPerHost); BitSet openPorts = new BitSet(PortRange.MAX_PORT); Progress progress = new Progress(target, portRange.getTotal(), new AtomicInteger(), new AtomicInteger()); -- cgit v1.3.1