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/CliParser.java | |
| parent | 3ea51b908ef949267264a027e2462b220900aa45 (diff) | |
Added cli option for worker threads per host
Diffstat (limited to 'src/main/java/com/it_jaros/networkScanner/CliParser.java')
| -rw-r--r-- | src/main/java/com/it_jaros/networkScanner/CliParser.java | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/main/java/com/it_jaros/networkScanner/CliParser.java b/src/main/java/com/it_jaros/networkScanner/CliParser.java index 3550249..9bb146b 100644 --- a/src/main/java/com/it_jaros/networkScanner/CliParser.java +++ b/src/main/java/com/it_jaros/networkScanner/CliParser.java @@ -14,6 +14,7 @@ public class CliParser { int socketLimit = 1000; int delayInMillis = 0; int timeoutInMillis = 1000; + int maxWorkersPerHost = 1000; String ports = "1-1024"; for (int i = 0; i < args.length; i++) { final String currentArg = args[i]; @@ -26,6 +27,7 @@ public class CliParser { switch (currentArg) { case "--help", "-h": usageAndExit(); + break; case "--socketLimit", "-sl": socketLimit = Integer.parseInt(args[++i]); break; @@ -38,6 +40,9 @@ public class CliParser { case "--ports", "-p": ports = args[++i]; break; + case "--maxWorkersPerHost", "-wh": + maxWorkersPerHost = Integer.parseInt(args[++i]); + break; default: throw new IllegalArgumentException("No such param " + currentArg); } @@ -48,10 +53,10 @@ public class CliParser { } System.out.printf( - "Parsed arguments: targets('%s'), ports(%s), socketLimit(%s), delayInMillis(%s), timeoutInMillis(%s)\n", - targets, ports, socketLimit, delayInMillis, timeoutInMillis); + "Parsed arguments: targets('%s'), ports(%s), socketLimit(%s), delayInMillis(%s), timeoutInMillis(%s), maxWorkersPerHost(%s)%n", + targets, ports, socketLimit, delayInMillis, timeoutInMillis, maxWorkersPerHost); - return new ScanOptions(targets.stream().toList(), socketLimit, delayInMillis, timeoutInMillis, ports); + return new ScanOptions(targets.stream().toList(), socketLimit, delayInMillis, timeoutInMillis, maxWorkersPerHost, ports); } public void usageAndExit() { @@ -60,10 +65,11 @@ public class CliParser { java -jar scanner.jar [OPTIONS] <host> Options: - --delay, -d: Waiting period in millis for connection attempts for a host - --socketLimit, -sl: Socket Connection limit for a host - --timeout, -t: Timeout per connection attempt + --delay, -d: Waiting period in millis for connection attempts for a host; (Default: 0) + --socketLimit, -sl: Socket Connection limit for a host; (Default: 1000) + --timeout, -t: Timeout per connection attempt, 0 means infinite: (Default: 1000) --ports, -p: Ports to be scanned + --maxWorkersPerHost, -wh: Virtual Worker Threads run per target. Higher doesn't mean necessarily faster. But the more you use the more RAM is required. (Default: 1000) Examples: java -jar scanner.jar localhost |
