summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/App.java
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-07-01 13:43:38 +0200
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-07-09 09:59:28 +0200
commit5b3ac6d86152241476d47dba58609643df0a64c1 (patch)
tree2b8897848eba1c926d9e12e623d75326bb80ecb4 /src/main/java/com/it_jaros/jscanner/App.java
parent8b881560dd8884e8e54e1e64654f79749d9ff456 (diff)
Added banner recognition for basic discovery of services
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/App.java')
-rw-r--r--src/main/java/com/it_jaros/jscanner/App.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/App.java b/src/main/java/com/it_jaros/jscanner/App.java
index c94b2df..c7d0dbf 100644
--- a/src/main/java/com/it_jaros/jscanner/App.java
+++ b/src/main/java/com/it_jaros/jscanner/App.java
@@ -31,10 +31,10 @@ public class App {
System.out.println(result.host());
if (!result.openPorts().isEmpty()) {
- System.out.printf("\t (%d) open:\t%s%n", result.openPorts().cardinality(), map(result.openPorts()));
+ System.out.printf("\t (%d) open:\t%s%n", result.openPorts().cardinality(), map(result.openPorts(), result.bannerRecognition()));
}
if (showFilteredPorts && !result.filteredPorts().isEmpty()) {
- System.out.printf("\t (%d) filtered:\t%s%n", result.filteredPorts().cardinality(), map(result.filteredPorts()));
+ System.out.printf("\t (%d) filtered:\t%s%n", result.filteredPorts().cardinality(), map(result.filteredPorts(), null));
}
System.out.println();
}
@@ -42,4 +42,16 @@ public class App {
private static String map(BitSet ports) {
return ports.stream().mapToObj(String::valueOf).collect(Collectors.joining(","));
}
+
+ private static String map(BitSet ports, java.util.HashMap<Integer, ServiceType> bannerRecognition) {
+ return ports.stream().mapToObj(port -> {
+ ServiceType serviceType = bannerRecognition.getOrDefault(port, ServiceType.UNKNOWN);
+
+ if (serviceType == ServiceType.UNKNOWN) {
+ return String.valueOf(port);
+ }
+
+ return port + "/" + serviceType.name().toLowerCase();
+ }).collect(Collectors.joining(","));
+ }
}