summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/it_jaros/jns/CliParser.java11
-rw-r--r--src/main/java/com/it_jaros/jns/scan/domain/PortRange.java6
2 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/com/it_jaros/jns/CliParser.java b/src/main/java/com/it_jaros/jns/CliParser.java
index 5efc30f..191dd29 100644
--- a/src/main/java/com/it_jaros/jns/CliParser.java
+++ b/src/main/java/com/it_jaros/jns/CliParser.java
@@ -1,6 +1,7 @@
package com.it_jaros.jns;
import com.it_jaros.jns.scan.ScanOptions;
+import com.it_jaros.jns.scan.domain.PortRange;
import java.util.HashSet;
import java.util.Set;
@@ -56,7 +57,7 @@ public class CliParser {
workersPerHostLimit = parseIntOption(args, ++i, currentArg, (Integer value) -> value > 0);
break;
case "--ports", "-p":
- ports = getArgument(args, ++i, currentArg);
+ ports = getArgumentAndValidate(args, ++i, currentArg, PortRange::new);
break;
case "--quiet", "-q":
quiet = true;
@@ -68,7 +69,7 @@ public class CliParser {
socketLimit = parseIntOption(args, ++i, currentArg, (Integer value) -> value > 0);
break;
case "--timeout", "-t":
- timeoutInMillis = parseIntOption(args, ++i, currentArg, (Integer value) -> value > 0);
+ timeoutInMillis = parseIntOption(args, ++i, currentArg, (Integer value) -> value > 0);
break;
default:
throw new IllegalArgumentException("No such param " + currentArg);
@@ -95,6 +96,12 @@ public class CliParser {
);
}
+ private String getArgumentAndValidate(String[] args, int index, String option, Function<String, Object> validator) {
+ String arg = getArgument(args, index, option);
+ validator.apply(arg);
+ return arg;
+ }
+
private String getArgument(String[] args, int index, String option) {
if (index >= args.length) {
throw new IllegalArgumentException(String.format("Missing argument for option %s", option));
diff --git a/src/main/java/com/it_jaros/jns/scan/domain/PortRange.java b/src/main/java/com/it_jaros/jns/scan/domain/PortRange.java
index 2f8bab8..290ca8e 100644
--- a/src/main/java/com/it_jaros/jns/scan/domain/PortRange.java
+++ b/src/main/java/com/it_jaros/jns/scan/domain/PortRange.java
@@ -13,7 +13,7 @@ public class PortRange {
public PortRange(String ports) {
if (ports == null || "".equals(ports)) {
- specifiedPorts.set(MIN_PORT, 1024);
+ specifiedPorts.set(MIN_PORT, 1024 + 1);
} else if ("all".equalsIgnoreCase(ports)) {
specifiedPorts.set(MIN_PORT, MAX_PORT + 1);
} else {
@@ -56,9 +56,9 @@ public class PortRange {
checkValue(start);
checkValue(end);
- if (start >= end) {
+ if (start > end) {
throw new IllegalArgumentException(
- String.format("Start value cannot be equal or bigger than end value '%s >= %s'", start, end));
+ String.format("Start value cannot be equal or bigger than end value '%s > %s'", start, end));
}
}