diff options
| author | 2026-02-16 17:07:46 +0100 | |
|---|---|---|
| committer | 2026-07-09 09:59:28 +0200 | |
| commit | bb7e4331a92acc9c0267a744f3b8dd7ff1e5dea8 (patch) | |
| tree | a12c6422bc8db1fa91627eab33e0516bccbb2cc4 /src/main/java/com/it_jaros/networkScanner/Scanner.java | |
| parent | 881c9c0ef8f2817aab4bed4aac6696fe5cafc593 (diff) | |
Added PortRange class that generates ports to scan
Diffstat (limited to 'src/main/java/com/it_jaros/networkScanner/Scanner.java')
| -rw-r--r-- | src/main/java/com/it_jaros/networkScanner/Scanner.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/main/java/com/it_jaros/networkScanner/Scanner.java b/src/main/java/com/it_jaros/networkScanner/Scanner.java index fae1890..10028aa 100644 --- a/src/main/java/com/it_jaros/networkScanner/Scanner.java +++ b/src/main/java/com/it_jaros/networkScanner/Scanner.java @@ -34,18 +34,18 @@ public class Scanner { } public List<ScanResult> scanPorts(ScanOptions target) { - return scanPorts(target.targets(), target.delayInMillis()); + return scanPorts(target.targets(), target.delayInMillis(), new PortRange(target.ports())); } - public List<ScanResult> scanPorts(List<String> targets, int delayInMillis) { + public List<ScanResult> scanPorts(List<String> targets, int delayInMillis, PortRange portsRange) { List<ScanResult> results = new ArrayList<>(); long delayInNanos = TimeUnit.MILLISECONDS.toNanos(Math.max(0, delayInMillis)); try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();) { List<Progress> hosts = new ArrayList<>(); for (String target : targets) { - Progress progress = new Progress(target, 65535, new AtomicInteger(), new AtomicInteger()); + Progress progress = new Progress(target, portsRange.getTotal(), new AtomicInteger(), new AtomicInteger()); hosts.add(progress); - results.add(scanTargetAsync(target, delayInNanos, executor, progress)); + results.add(scanTargetAsync(target, portsRange, delayInNanos, executor, progress)); } progressBar.start(hosts); } @@ -55,11 +55,11 @@ public class Scanner { return results; } - private ScanResult scanTargetAsync(String target, long delayInNanos, ExecutorService executor, Progress p) { + private ScanResult scanTargetAsync(String target, PortRange portRange, long delayInNanos, ExecutorService executor, Progress p) { AtomicLong nextStartNanos = new AtomicLong(System.nanoTime()); Queue<Integer> openPorts = new ConcurrentLinkedQueue<>(); - for (int port = 1; port < 65536; port++) { - final int currentPort = port; + while (portRange.hasNext()) { + final int currentPort = portRange.next(); executor.submit(() -> { try { scanPortsAsync(target, delayInNanos, nextStartNanos, openPorts, currentPort); |
