Name | Modified | Size | Downloads / Week |
---|---|---|---|
AsyncPortScanner.exe | 2025-01-03 | 489.3 kB | |
AsyncPortScanner | 2025-01-03 | 322.2 kB | |
AsyncPortScannerStatic.exe | 2025-01-03 | 408.2 kB | |
README.md | 2025-01-03 | 3.0 kB | |
Totals: 4 Items | 1.2 MB | 0 |
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 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
).
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 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.