From cfef765dac716c236d7af95c3f7ce47f319dfe2e Mon Sep 17 00:00:00 2001 From: Anton Keks Date: Thu, 25 Jul 2019 00:42:34 +0300 Subject: [PATCH] #193 return found port number from HTTPProxyFetcher --- src/net/azib/ipscan/fetchers/HTTPProxyFetcher.java | 6 ++++++ src/net/azib/ipscan/fetchers/PortTextFetcher.java | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/net/azib/ipscan/fetchers/HTTPProxyFetcher.java b/src/net/azib/ipscan/fetchers/HTTPProxyFetcher.java index c2c4abec..7657f212 100644 --- a/src/net/azib/ipscan/fetchers/HTTPProxyFetcher.java +++ b/src/net/azib/ipscan/fetchers/HTTPProxyFetcher.java @@ -9,6 +9,7 @@ package net.azib.ipscan.fetchers; import net.azib.ipscan.config.ScannerConfig; import javax.inject.Inject; +import java.util.regex.Matcher; /** * HTTPProxyFetcher - detects HTTP proxy on port 3128 (or other requested port) @@ -24,4 +25,9 @@ public class HTTPProxyFetcher extends PortTextFetcher { public String getId() { return "fetcher.httpProxy"; } + + @Override + protected String getResult(Matcher matcher, int port) { + return port + ": " + super.getResult(matcher, port); + } } diff --git a/src/net/azib/ipscan/fetchers/PortTextFetcher.java b/src/net/azib/ipscan/fetchers/PortTextFetcher.java index 69ae2283..1d3e5fd9 100644 --- a/src/net/azib/ipscan/fetchers/PortTextFetcher.java +++ b/src/net/azib/ipscan/fetchers/PortTextFetcher.java @@ -46,7 +46,6 @@ public abstract class PortTextFetcher extends AbstractFetcher { public PortTextFetcher(ScannerConfig scannerConfig, int defaultPort, String textToSend, String matchingRegexp) { this.scannerConfig = scannerConfig; this.defaultPort = defaultPort; - this.scanOpenPorts = scanOpenPorts; this.textToSend = getPreferences().get("textToSend", textToSend); this.matchingRegexp = Pattern.compile(getPreferences().get("matchingRegexp", matchingRegexp)); this.extractGroup = getPreferences().getInt("extractGroup", 1); @@ -72,7 +71,7 @@ public abstract class PortTextFetcher extends AbstractFetcher { // mark that additional info is available subject.setResultType(ResultType.WITH_PORTS); // return the required contents - return matcher.group(extractGroup); + return getResult(matcher, socket.getPort()); } } } @@ -92,6 +91,11 @@ public abstract class PortTextFetcher extends AbstractFetcher { return null; } + protected String getResult(Matcher matcher, int port) { + String result = matcher.group(extractGroup); + return result.isEmpty() ? String.valueOf(port) : result; + } + private Iterator getPortIterator(ScanningSubject subject) { if (scanOpenPorts) { @SuppressWarnings("unchecked")