diff options
| author | 2026-03-16 16:21:32 +0100 | |
|---|---|---|
| committer | 2026-07-09 09:59:28 +0200 | |
| commit | 1f87648ba3c1aabdd167b955d5f10e2c7613c691 (patch) | |
| tree | a64280bf8ac1a9bc96d0538d7423aad72ea3feb8 /src/main/java/com/it_jaros/networkScanner/Scanner.java | |
| parent | 3ea51b908ef949267264a027e2462b220900aa45 (diff) | |
Added cli option for worker threads per host
Diffstat (limited to 'src/main/java/com/it_jaros/networkScanner/Scanner.java')
| -rw-r--r-- | src/main/java/com/it_jaros/networkScanner/Scanner.java | 6 |
1 files changed, 4 insertions, 2 deletions
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<ScanResult> 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()); |
