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.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 {