summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/network_scanner/Scanner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/it_jaros/network_scanner/Scanner.java')
-rw-r--r--src/main/java/com/it_jaros/network_scanner/Scanner.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/com/it_jaros/network_scanner/Scanner.java b/src/main/java/com/it_jaros/network_scanner/Scanner.java
index 85cc46a..3d85ec2 100644
--- a/src/main/java/com/it_jaros/network_scanner/Scanner.java
+++ b/src/main/java/com/it_jaros/network_scanner/Scanner.java
@@ -19,13 +19,15 @@ public class Scanner {
private final long delayInNanos;
private final int maxWorkersPerHost;
private final int maxTargetsLimit;
+ private final boolean disableTargetCheck;
- public Scanner(int socketLimit, int timeoutInMillis, int delayInMillis, int maxWorkersPerHost, int maxTargetsLimit) {
+ public Scanner(int socketLimit, int timeoutInMillis, int delayInMillis, int maxWorkersPerHost, int maxTargetsLimit, boolean disableTargetCheck) {
this.timeoutInMillis = timeoutInMillis;
this.delayInNanos = TimeUnit.MILLISECONDS.toNanos(Math.max(0, delayInMillis));
this.socketLimit = new Semaphore(socketLimit);
this.maxWorkersPerHost = maxWorkersPerHost;
this.maxTargetsLimit = maxTargetsLimit;
+ this.disableTargetCheck = disableTargetCheck;
}
public List<ScanResult> scan(ScanOptions target) {
@@ -79,7 +81,7 @@ public class Scanner {
Progress progress = new Progress(target, portRange.getTotal(), new AtomicInteger(), new AtomicInteger(), new AtomicInteger());
progressBar.submit(progress);
- if(!checkHostOnline(target)) {
+ if(!disableTargetCheck && !checkHostOnline(target)) {
// Visually show that this host is basically done
progress.done().set(progress.total());
return new ScanResult(target, openPorts, filteredPorts);
@@ -135,7 +137,7 @@ public class Scanner {
private boolean checkHostOnline(String target) {
try {
- return InetAddress.getByName(target).isReachable(2000);
+ return InetAddress.getByName(target).isReachable(timeoutInMillis);
} catch (IOException e) {
// something went wrong
}