summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java b/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java
index e9244c2..dc5851e 100644
--- a/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java
+++ b/src/main/java/com/it_jaros/jns/scan/engine/ScanPortTask.java
@@ -11,6 +11,7 @@ import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
+import java.util.Optional;
import java.util.concurrent.Callable;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
@@ -64,7 +65,7 @@ public class ScanPortTask implements Callable<PortResult> {
PortState state = getPortState(socketChannel);
result.setState(state);
if (PortState.OPEN.equals(state) && bannerRecognition) {
- result.setBanner(getBanner(socketChannel));
+ getBanner(socketChannel).ifPresent(result::setBanner);
}
} catch (ConnectException ignored) {
result.setState(PortState.CLOSED);
@@ -101,14 +102,14 @@ public class ScanPortTask implements Callable<PortResult> {
return PortState.FILTERED;
}
- private byte[] getBanner(SocketChannel socketChannel) {
+ private Optional<byte[]> getBanner(SocketChannel socketChannel) {
try {
- return tryReadFrom(socketChannel);
+ return Optional.of(tryReadFrom(socketChannel));
} catch (IOException ignore) {
// ignore
}
- return new byte[0];
+ return Optional.empty();
}
private byte[] tryReadFrom(SocketChannel socketChannel) throws IOException {