From ba0c849b95c2752a592b8a6c3c4f9ae3eb5a03f6 Mon Sep 17 00:00:00 2001 From: Matthias Jaros Date: Mon, 23 Mar 2026 16:37:13 +0100 Subject: Added cli option for online check --- src/main/java/com/it_jaros/network_scanner/Scanner.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/it_jaros/network_scanner/Scanner.java') 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 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 } -- cgit v1.3.1