From 928e1b0342dce2654d59e8f2980d228e77cf8a95 Mon Sep 17 00:00:00 2001 From: Matthias Jaros Date: Wed, 1 Jul 2026 18:49:38 +0200 Subject: CLI options sorted, renamed and description fixed Fixed wrong default values by using one source of truth --- src/main/java/com/it_jaros/jscanner/CliParser.java | 43 +++++++++++++--------- 1 file changed, 25 insertions(+), 18 deletions(-) (limited to 'src/main/java/com/it_jaros/jscanner/CliParser.java') diff --git a/src/main/java/com/it_jaros/jscanner/CliParser.java b/src/main/java/com/it_jaros/jscanner/CliParser.java index bd25acc..dd6e3d0 100644 --- a/src/main/java/com/it_jaros/jscanner/CliParser.java +++ b/src/main/java/com/it_jaros/jscanner/CliParser.java @@ -41,10 +41,10 @@ public class CliParser { case "--timeout", "-t": timeoutInMillis = parseIntOption(args, ++i, currentArg); break; - case "--maxWorkersPerHost", "-wh": + case "--maxWorkersPerHost", "-mh": maxWorkersPerHost = parseIntOption(args, ++i, currentArg); break; - case "--maxHostsLimit", "-tl": + case "--maxHostsLimit", "-m": maxHostsLimit = parseIntOption(args, ++i, currentArg); break; case "--ports", "-p": @@ -53,10 +53,10 @@ public class CliParser { case "--showFilteredPorts", "-sf": showFilteredPorts = true; break; - case "--disableOnlineCheck", "-dt": + case "--disableOnlineCheck", "-do": disableOnlineCheck = true; break; - case "--file", "-f": + case "--input", "-i": hostsFile = requireValue(args, ++i, currentArg); break; default: @@ -88,25 +88,32 @@ public class CliParser { } public void usageAndExit() { - System.err.println(""" + StringBuilder usage = new StringBuilder(); + usage.append(""" Usage: - java -jar scanner.jar [OPTIONS] + java -jar jscanner.jar [OPTIONS] [,...] Options: - --delay, -d:\t\tWaiting period in millis for connection attempts for a host (Default: 0) - --socketLimit, -sl:\t\tSocket Connection limit for a host (Default: 1000) - --timeout, -t:\t\tTimeout per connection attempt, 0 means infinite (Default: 1000) - --ports, -p:\t\tPorts to be scanned - --maxWorkersPerHost, -wh:\tVirtual Worker Threads run per Host. Higher doesn't mean necessarily faster. But the more you use the more RAM is required (Default: 1000) - --maxHostsLimit, -tl:\tMax number of Hosts that are scanned at the same time (Default: 10) - --showFilteredPorts, -sf:\tShow also filtered ports - --disableOnlineCheck, -dt:\tDon't check if Host is reachable - --file, -f:\t\t\tRead hosts to scan from file instead of stdin + """); + usage.append(""" + --delay, -d:\t\tWaiting period in millis for connection attempts for a host (Default: %d) + --disableOnlineCheck, -do:\tDon't check if Host is reachable (Default: %b) + --input, -i:\t\tRead file to get host targets to scan (Default: null) + --maxHostsLimit, -m:\tMax number of hosts that are scanned at the same time (Default: %d) + --maxWorkersPerHost, -mh:\tVirtual Worker Threads run per Host. Higher doesn't mean necessarily faster. But the more you use the more RAM is required (Default: %d) + --ports, -p:\t\tDefine ports to be scanned (Default: %s) + --showFilteredPorts, -sf:\tShow also filtered ports (Default: %b) + --socketLimit, -sl:\t\tSocket limit in total. You can not scan more ports than allowed here (Default: %d) + --timeout, -t:\t\tTimeout in millis per connection attempt, 0 means infinite (Default: %d) + """.formatted(CliDefaults.DELAY_IN_MILLIS, CliDefaults.DISABLE_HOST_CHECK, CliDefaults.MAX_HOSTS_LIMIT, CliDefaults.MAX_WORKERS_PER_HOST, CliDefaults.PORTS, CliDefaults.SHOW_FILTERED_PORTS, CliDefaults.SOCKET_LIMIT, CliDefaults.TIMEOUT_IN_MILLIS) + ); + usage.append(""" Examples: - java -jar scanner.jar localhost - java -jar scanner.jar fd00::1 + java -jar jscanner.jar localhost + java -jar jscanner.jar fd00::1 """); - System.exit(1); + System.err.println(usage); + System.exit(0); } } -- cgit v1.3.1