File | Date | Author | Commit |
---|---|---|---|
AsyncPortScanner.nim | 2024-11-04 |
![]() |
[224b16] [3.0.0] Add RDP port to default scan |
LICENSE | 2023-04-06 |
![]() |
[a5b204] Initial commit |
README.md | 2025-01-03 |
![]() |
[a0f4c6] Update README.md |
Cross-platform asynchronous port scanner written in Nim.
nim.exe c --stackTrace:off --lineTrace:off --checks:off --assertions:off -d:release -d:windows AsyncPortScanner.nim
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
nim c --stackTrace:off --lineTrace:off --checks:off --assertions:off -d:release -d:linux AsyncPortScanner.nim
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:
./scan -w=1000 192.168.56.1-50:tcp:21-25,135-139,80,443-445,3000,5000-5357,8000-8888,30102
./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 of192.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 of67,68
).
./scan -w=100 192.168.0.1/24,192.168.56.1/255.255.255.240:tcp:1-1024
./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 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 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
Licensed under the GPL, version 3.