diff options
| author | 2026-01-23 22:14:59 +0100 | |
|---|---|---|
| committer | 2026-07-09 09:59:28 +0200 | |
| commit | cbf08c1560c18bede155efc6b3a6a501a338661e (patch) | |
| tree | dd4a8f7e4152e9de03dcf24b541e30c09dcb58a1 /src/main/java/com/it_jaros/networkScanner/App.java | |
| parent | e244891e9824c9db3cb32468049133d3510110e1 (diff) | |
Added cli parser
Diffstat (limited to 'src/main/java/com/it_jaros/networkScanner/App.java')
| -rw-r--r-- | src/main/java/com/it_jaros/networkScanner/App.java | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/src/main/java/com/it_jaros/networkScanner/App.java b/src/main/java/com/it_jaros/networkScanner/App.java index f173e18..49b50c0 100644 --- a/src/main/java/com/it_jaros/networkScanner/App.java +++ b/src/main/java/com/it_jaros/networkScanner/App.java @@ -4,39 +4,38 @@ import java.util.List; public class App { public static void main(String[] args) { - Scanner scanner = new Scanner(); - if (args.length < 1 || args[0] == "") { + try { + ScanTarget target = (new CliParser()).parseArgs(args); + Scanner scanner = new Scanner(); + List<Integer> openPorts = scanner.scanPorts(target); + printResults(target, openPorts); + } catch (IllegalArgumentException e) { + System.out.println(e.getMessage()); usageAndExit(); - } - String target = args[0]; - System.out.printf( - "Scanning host=%s \n", - target); - - try (FdCounter fd = new FdCounter()) { - fd.start(20); // sample every 20ms - List<Integer> openPorts = scanner.scanPorts(target, 10000); - printPorts(target, openPorts); - System.out.println("FD baseline: " + fd.baseline()); - System.out.println("FD limit: " + fd.maxFds()); - System.out.println("Peak open FDs during scan: " + fd.peakOpenFds()); + } catch (Exception e) { + System.err.println("Something went wrong"); } } - public static void printPorts(String address, List<Integer> openPorts) { - System.out.println("Address:" + address); - openPorts.forEach((p) -> System.out.println("Open port: " + p)); + public static void printResults(ScanTarget address, List<Integer> openPorts) { + System.out.println("Target: " + address.address()); + System.out.print("Ports:"); + openPorts.forEach((p) -> System.out.print(" " + p)); } - private static void usageAndExit() { + public static void usageAndExit() { System.err.println(""" - Usage: - java -jar scanner.jar <host> + Usage: + java -jar scanner.jar [OPTIONS] <host> + + 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 - """); + Examples: + java -jar scanner.jar localhost + java -jar scanner.jar fd00::1 + """); System.exit(1); } } |
