Menu

Tree [a0f4c6] main /
 History

HTTPS access


File Date Author Commit
 AsyncPortScanner.nim 2024-11-04 Maurice Lambert Maurice Lambert [224b16] [3.0.0] Add RDP port to default scan
 LICENSE 2023-04-06 mauricelambert mauricelambert [a5b204] Initial commit
 README.md 2025-01-03 Maurice Lambert Maurice Lambert [a0f4c6] Update README.md

Read Me

AsyncPortScanner Logo

AsyncPortScanner

Description

Cross-platform asynchronous port scanner written in Nim.

Requirements

  • No requirements

Download

Compilation

Windows

Non static

nim.exe c --stackTrace:off  --lineTrace:off --checks:off --assertions:off -d:release -d:windows AsyncPortScanner.nim

Static with size optimization

I recommend using this compilation if you don't know the system (and DLL installed on the system) where the scan will be lanched.

nim.exe c --passl:"-static -static-libgcc -static-libstdc++" --opt:size --stackTrace:off  --lineTrace:off --checks:off --assertions:off -d:release -d:windows AsyncPortScanner.nim

Linux

nim c --stackTrace:off  --lineTrace:off --checks:off --assertions:off -d:release -d:linux AsyncPortScanner.nim

Usages

Default scan

Without any arguments the scan will detect all of your network interfaces and scan all IP on it.

./scan

By default the scan is a TCP scan on all of this ports range:

  • 21-25
  • 135-139
  • 80
  • 443-445
  • 3000
  • 3389
  • 5000-5357
  • 8000-8888
  • 30102

Custom scan policy

./scan -w=1000 192.168.56.1-50:tcp:21-25,135-139,80,443-445,3000,5000-5357,8000-8888,30102

Multiples policies

./scan -w=3000 192.168.0.1-192.168.56.255 192.168.0.1-192.168.56.255:udp:67-68

Note: the default protocole is icmp, it's equivalent of 192.168.0.1-192.168.56.255:icmp.

This scan performs a ICMP scan on the first IP range and UDP scan on the second IP range (on port 67 and 68).

Note: It's better for optimization to use a range of port instead of a list of port ranges (67-68 instead of 67,68).

Multiples IP range

./scan -w=100 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024

Options

Timeout

./scan -w=100 -t=3 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024

Set timeout to 3 seconds (instead of 1 second by default).

Workers

Workers should alway be set, it's necessary to adapt the value with your computer resources (by default 3000 on Windows, but on a VM Windows i needed set it to 100, by default on Linux is 1000).

./scan -w=1000 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024

Print

Print all (maximum verbosity):

./scan -w=100 -a 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024

Print filtered:

./scan -w=100 -f 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024

Print close:

./scan -w=100 -c 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024

Licence

Licensed under the GPL, version 3.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.