package com.it_jaros.networkScanner; import java.util.List; public class App { public static void main(String[] args) { try { ScanTarget target = (new CliParser()).parseArgs(args); Scanner scanner = new Scanner(); List openPorts = scanner.scanPorts(target); printResults(target, openPorts); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); usageAndExit(); } catch (Exception e) { System.err.println("Something went wrong"); } } public static void printResults(ScanTarget address, List openPorts) { System.out.println("Target: " + address.address()); System.out.print("Ports:"); openPorts.forEach((p) -> System.out.print(" " + p)); } public static void usageAndExit() { System.err.println(""" Usage: java -jar scanner.jar [OPTIONS] Options: --delay: Waiting period in between connection attempts for a host --connLimit: Socket Connection limit for a host Examples: java -jar scanner.jar localhost java -jar scanner.jar fd00::1 """); System.exit(1); } }