diff options
| author | 2026-07-02 11:49:42 +0200 | |
|---|---|---|
| committer | 2026-07-09 09:59:28 +0200 | |
| commit | 53ad9b193e3c5fd2324edeca838e5a8e4cce7ed1 (patch) | |
| tree | feeae69ba9ae8f2c619a1d984f79a896c33c9cbf /src/main/java/com/it_jaros/jscanner/Scanner.java | |
| parent | 2624f889d5adadc592c015e31deeb32a8d0e3a23 (diff) | |
Added banner recognition parameter to enable it depending on use case
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/Scanner.java')
| -rw-r--r-- | src/main/java/com/it_jaros/jscanner/Scanner.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/Scanner.java b/src/main/java/com/it_jaros/jscanner/Scanner.java index 5a6ccbb..4ac60b1 100644 --- a/src/main/java/com/it_jaros/jscanner/Scanner.java +++ b/src/main/java/com/it_jaros/jscanner/Scanner.java @@ -24,6 +24,7 @@ public class Scanner implements AutoCloseable { private volatile boolean cancelled = false; private final Semaphore socketLimit; + private final boolean bannerRecognition; private final boolean disableOnlineCheck; private final boolean quiet; private final int maxHostsLimit; @@ -38,9 +39,11 @@ public class Scanner implements AutoCloseable { int maxWorkersPerHost, int maxHostsLimit, boolean disableOnlineCheck, - boolean quiet + boolean quiet, + boolean bannerRecognition ) { this.delayInNanos = TimeUnit.MILLISECONDS.toNanos(Math.max(0, delayInMillis)); + this.bannerRecognition = bannerRecognition; this.disableOnlineCheck = disableOnlineCheck; this.maxHostsLimit = maxHostsLimit; this.maxWorkersPerHost = maxWorkersPerHost; @@ -50,7 +53,7 @@ public class Scanner implements AutoCloseable { } public Scanner(ScanOptions options) { - this(options.openSocketLimit(), options.timeoutInMillis(), options.delayInMillis(), options.maxWorkersPerHost(), options.maxHostsLimit(), options.disableHostCheck(), options.quiet()); + this(options.openSocketLimit(), options.timeoutInMillis(), options.delayInMillis(), options.maxWorkersPerHost(), options.maxHostsLimit(), options.disableHostCheck(), options.quiet(), options.bannerRecognition()); } public List<ScanResult> scan(ScanOptions options) { @@ -228,7 +231,10 @@ public class Scanner implements AutoCloseable { scanState.counter().inc(); try (Socket socket = new Socket()) { socket.connect(new InetSocketAddress(host, port), timeoutInMillis); - result.setBanner(getBanner(socket)); + + if (bannerRecognition) { + result.setBanner(getBanner(socket)); + } result.setState(PortState.OPEN); } catch (SocketTimeoutException ignored) { result.setState(PortState.FILTERED); |
