package com.it_jaros.networkScanner; import java.util.List; public class App { public static void main(String[] args) { Scanner scanner = new Scanner(); if (args.length < 1 || args[0] == "") { 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 openPorts = scanner.scanPorts(target, 10000); printPorts(target, openPorts); System.out.println("FD limit: " + fd.maxFds()); System.out.println("Peak open FDs during scan: " + fd.peakOpenFds()); } } public static void printPorts(String address, List openPorts) { System.out.println("Address:" + address); openPorts.forEach((p) -> System.out.println("Open port: " + p)); } private static void usageAndExit() { System.err.println(""" Usage: java -jar scanner.jar Examples: java -jar scanner.jar localhost java -jar scanner.jar fd00::1 """); System.exit(1); } }