summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/scan/service
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/scan/service')
-rw-r--r--src/main/java/com/it_jaros/jscanner/scan/service/ServiceDetector.java47
-rw-r--r--src/main/java/com/it_jaros/jscanner/scan/service/ServiceType.java5
2 files changed, 0 insertions, 52 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/scan/service/ServiceDetector.java b/src/main/java/com/it_jaros/jscanner/scan/service/ServiceDetector.java
deleted file mode 100644
index 93e05d4..0000000
--- a/src/main/java/com/it_jaros/jscanner/scan/service/ServiceDetector.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.it_jaros.jscanner.scan.service;
-
-import java.nio.charset.StandardCharsets;
-import java.util.List;
-import java.util.regex.Pattern;
-
-public class ServiceDetector {
- private static final List<ServicePattern> patterns = List.of(
- new ServicePattern(ServiceType.DNS, Pattern.compile("(?i)\\bDNS\\b")),
- new ServicePattern(ServiceType.DNS, Pattern.compile("(?i)\\bBIND\\b")),
- new ServicePattern(ServiceType.DNS, Pattern.compile("(?i)\\bNSD\\b")),
- new ServicePattern(ServiceType.DNS, Pattern.compile("(?i)\\bPowerDNS\\b")),
- new ServicePattern(ServiceType.DNS, Pattern.compile("(?i)\\bUnbound\\b")),
- new ServicePattern(ServiceType.FTP, Pattern.compile("(?i)^220.*\\bFTP\\b")),
- new ServicePattern(ServiceType.HTTP, Pattern.compile("(?i)\\bServer:\\s*")),
- new ServicePattern(ServiceType.HTTP, Pattern.compile("(?i)^HTTP/")),
- new ServicePattern(ServiceType.IMAP, Pattern.compile("(?i)^\\* OK.*\\bIMAP\\b")),
- new ServicePattern(ServiceType.POP3, Pattern.compile("(?i)^\\+OK.*\\bPOP3\\b")),
- new ServicePattern(ServiceType.SMTP, Pattern.compile("(?i)^220.*\\bESMTP\\b")),
- new ServicePattern(ServiceType.SMTP, Pattern.compile("(?i)^220.*\\bSMTP\\b")),
- new ServicePattern(ServiceType.SSH, Pattern.compile("(?i)^SSH-"))
- );
-
- public static ServiceType detect(byte[] banner) {
- if (banner == null || banner.length == 0) {
- return ServiceType.UNKNOWN;
- }
-
- String bannerString = new String(banner, StandardCharsets.UTF_8);
- for (ServicePattern servicePattern : patterns) {
- if (servicePattern.matches(bannerString)) {
- return servicePattern.serviceType();
- }
- }
-
- return ServiceType.UNKNOWN;
- }
-
- private record ServicePattern(
- ServiceType serviceType,
- Pattern pattern
- ) {
- boolean matches(String banner) {
- return pattern.matcher(banner).find();
- }
- }
-} \ No newline at end of file
diff --git a/src/main/java/com/it_jaros/jscanner/scan/service/ServiceType.java b/src/main/java/com/it_jaros/jscanner/scan/service/ServiceType.java
deleted file mode 100644
index 86b282a..0000000
--- a/src/main/java/com/it_jaros/jscanner/scan/service/ServiceType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.it_jaros.jscanner.scan.service;
-
-public enum ServiceType {
- HTTP, FTP, SMTP, IMAP, POP3, UNKNOWN, DNS, SSH
-}