summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/CliParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/CliParser.java')
-rw-r--r--src/main/java/com/it_jaros/jscanner/CliParser.java43
1 files changed, 25 insertions, 18 deletions
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] <host>
+ java -jar jscanner.jar [OPTIONS] [<host>,...]
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);
}
}