summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/network_scanner/Scanner.java
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-03-23 14:29:55 +0100
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-07-09 09:59:28 +0200
commit9e9c7030c557e95dd89b2762b7702b4124417702 (patch)
tree34809e32d7a01ac5fac855298f7746abcbfbf304 /src/main/java/com/it_jaros/network_scanner/Scanner.java
parent632041fa5acc8649e43e3ba61caed0b8e43c11b5 (diff)
Renamed blocked to filtered ports to do it like nmap and changed default
scan values
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.java16
1 files changed, 9 insertions, 7 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 3a4b37c..8144d6b 100644
--- a/src/main/java/com/it_jaros/network_scanner/Scanner.java
+++ b/src/main/java/com/it_jaros/network_scanner/Scanner.java
@@ -74,7 +74,7 @@ public class Scanner {
AtomicLong portSlotFactory = new AtomicLong(System.nanoTime());
Semaphore maxWorkers = new Semaphore(maxWorkersPerHost);
BitSet openPorts = new BitSet(PortRange.MAX_PORT);
- BitSet blockedPorts = new BitSet(PortRange.MAX_PORT);
+ BitSet filteredPorts = new BitSet(PortRange.MAX_PORT);
Progress progress = new Progress(target, portRange.getTotal(), new AtomicInteger(), new AtomicInteger(), new AtomicInteger() );
progressBar.submit(progress);
@@ -90,8 +90,8 @@ public class Scanner {
PortState state = getPortState(target, currentPort);
if (state.equals(PortState.OPEN)) {
progress.open().incrementAndGet();
- } else if (state.equals(PortState.BLOCKED)) {
- progress.blocked().incrementAndGet();
+ } else if (state.equals(PortState.FILTERED)) {
+ progress.filtered().incrementAndGet();
}
return new PortResult(currentPort, state);
} finally {
@@ -109,8 +109,8 @@ public class Scanner {
PortResult portResult = f.get();
if (portResult.state().equals(PortState.OPEN)) {
openPorts.set(portResult.port());
- } else if (portResult.state().equals(PortState.BLOCKED)) {
- blockedPorts.set(portResult.port());
+ } else if (portResult.state().equals(PortState.FILTERED)) {
+ filteredPorts.set(portResult.port());
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
@@ -124,7 +124,7 @@ public class Scanner {
}
}
- return new ScanResult(target, openPorts, blockedPorts);
+ return new ScanResult(target, openPorts, filteredPorts);
}
private void waitForSlot(AtomicLong scanSlotFactory) {
@@ -144,8 +144,10 @@ public class Scanner {
return PortState.OPEN;
} catch (NoRouteToHostException ignored) {
// this can be safely ignored because the port is closed if a host is unreachable
+ } catch (SocketTimeoutException ignored) {
+ return PortState.FILTERED;
} catch (ConnectException ignored) {
- return PortState.BLOCKED;
+ return PortState.CLOSED;
} catch (IOException ignored) {
// Will happen a lot when scanning for open ports, so not needed
} finally {