diff options
| author | 2026-07-02 14:55:58 +0200 | |
|---|---|---|
| committer | 2026-07-09 09:59:28 +0200 | |
| commit | c0ded372e09ba5eaf36a05b425823a6cedf9fb86 (patch) | |
| tree | a0dd07a7ee75184cf69bcd722729c44b479e7854 | |
| parent | 6a7b9369bfa6af54aa8b915d78e7efdc9f97c0f9 (diff) | |
Refactoring for better readability
| -rw-r--r-- | src/main/java/com/it_jaros/jscanner/App.java | 45 | ||||
| -rw-r--r-- | src/main/java/com/it_jaros/jscanner/Scan.java | 8 |
2 files changed, 36 insertions, 17 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/App.java b/src/main/java/com/it_jaros/jscanner/App.java index c021821..2883a85 100644 --- a/src/main/java/com/it_jaros/jscanner/App.java +++ b/src/main/java/com/it_jaros/jscanner/App.java @@ -9,22 +9,25 @@ public class App { private static Thread shutdownHook; public static void main(String[] args) { - // just in case catch everything try { - ScanOptions options = parseOptions(args); - if (options == null) return; - try (Scanner scanner = new Scanner(options)) { - Scan scan = scanner.createScan(options); - addShutdownHook(scan, scanner, options); - printScanResults(scanner.runScan(scan), scan.state(), options); - } finally { - removeShutdownHook(); - } + run(args); } catch (Exception e) { System.out.printf("ERROR: %s", e.getMessage()); } } + private static void run(String[] args) throws Exception { + ScanOptions options = parseOptions(args); + if (options == null) return; + try (Scanner scanner = new Scanner(options)) { + Scan scan = scanner.createScan(options); + addShutdownHook(scan, scanner, options); + scanner.runScan(scan); + printScanResults(scan, options); + } finally { + removeShutdownHook(); + } + } private static ScanOptions parseOptions(String[] args) { CliParser cliParser = new CliParser(); @@ -39,11 +42,19 @@ public class App { return null; } + /** + * Allows us to handle signal int events + * Prints intermediate result + * + * @param scan + * @param scanner + * @param scanOptions + */ private static void addShutdownHook(Scan scan, Scanner scanner, ScanOptions scanOptions) { shutdownHook = new Thread(() -> { System.err.println("\nCtrl-C received."); scanner.cancel(); - printScanIntermediateResult(scan, scanOptions); + printScanResults(scan, scanOptions); }); Runtime.getRuntime().addShutdownHook(shutdownHook); } @@ -60,19 +71,19 @@ public class App { } } - public static void printScanIntermediateResult(Scan scan, ScanOptions scanOptions) { - printScanResults(scan.state().getSnapshotOfScanResults(), scan.state(), scanOptions); + public static void printScanResults(Scan scan, ScanOptions scanOptions) { + printScanResults(scan.getResults(), scan.getPeakConcurrentConnects(), scanOptions); } - private static void printScanResults(List<ScanResult> result, ScanState state, ScanOptions options) { - printStats(state); + private static void printScanResults(List<ScanResult> result, int max, ScanOptions options) { + printStats(max); result.forEach((ScanResult r) -> printPortsResults(r, options.showFilteredPorts())); } - private static void printStats(ScanState state) { + private static void printStats(int max) { System.out.println("--------------------"); System.out.println("Stats:"); - System.out.println("Peak concurrent connects: " + state.getCounter().max()); + System.out.println("Peak concurrent connects: " + max); System.out.println("--------------------"); } diff --git a/src/main/java/com/it_jaros/jscanner/Scan.java b/src/main/java/com/it_jaros/jscanner/Scan.java index c5e27c8..f680326 100644 --- a/src/main/java/com/it_jaros/jscanner/Scan.java +++ b/src/main/java/com/it_jaros/jscanner/Scan.java @@ -3,4 +3,12 @@ package com.it_jaros.jscanner; import java.util.List; public record Scan(List<String> hosts, String ports, ScanState state) { + + public List<ScanResult> getResults() { + return this.state.getSnapshotOfScanResults(); + } + + public int getPeakConcurrentConnects() { + return this.state.getCounter().max(); + } } |
