loading
loading
Network
RustScan wired to iterate over a file of targets and run its scripting engine on each.
overview
RustScan Loop runs the modern RustScan port scanner over a file of targets, scanning each CIDR, IP, or host in turn. RustScan finds open ports quickly, sometimes in seconds, then feeds them into a scripting engine that supports Python, Lua, and Shell for deeper service inspection. The loop variant is shaped to take a target file as its primary input, which suits batch sweeps in a pipeline.
You control the port set with a comma-separated list, a start-end range, or the top-1000 flag, and tune speed through batch size, tries, timeout, and ULIMIT. A scripts level selects how much of the scripting engine runs after discovery, from none to a custom set. Scan order can be serial or random.
On Trickest, RustScan Loop is a Network node that takes an address file and writes a file and a folder of results. Reach for it when discovery has already produced a host list and you want a single node to port-scan the whole batch before handing open ports to nmap for service and version detection.
source github.com/RustScan/RustScan
use cases
Pass the file of CIDRs, IPs, or hosts that earlier discovery produced and let RustScan Loop sweep every one for open ports in a single node.
Wire the open ports RustScan Loop finds into nmap for service and version detection, so the fast sweep and the deep scan run as one workflow.
Use the top-1000 flag, an explicit --ports list, or a --range like 1-1000 so each target is scanned only across the ports you care about.
Adjust --batch-size, --tries, and --timeout to push throughput on a large target file or to cut false closed-port reports on slow hosts.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| addresses | FILE | · | A file of CIDRs, IPs, or hosts to be scanned. |
| ports | STRING | --ports | Comma-separated ports to scan, e.g. 80,443,8080. |
| range | STRING | --range | A range of ports in start-end format, e.g. 1-1000. |
| top-ports | BOOLEAN | --top | Scan the top 1000 ports instead of a custom set. |
| scripts | STRING | --scripts | How much scripting runs after discovery: None, Default, or Custom. |
| batch-size | STRING | --batch-size | Batch size for scanning; higher is faster, bound by your OS open-file limit. Default: 4500. |
| timeout | STRING | --timeout | Timeout in milliseconds before a port is assumed closed. Default: 1500. |
| ulimit | STRING | --ulimit | Automatically raises the ULIMIT to the value you provide. |
Showing key inputs. rustscan-loop exposes 11 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| ports | STRING | --ports | Comma-separated ports to scan, e.g. 80,443,8080. |
| range | STRING | --range | A range of ports in start-end format, e.g. 1-1000. |
| tries | STRING | --tries | Tries before a port is assumed closed. A value of 0 is corrected to 1. Default: 1. |
| ulimit | STRING | --ulimit | Automatically raises the ULIMIT to the value you provide. |
| scripts | STRING | --scripts | Level of scripting to run after discovery: None, Default, or Custom. Default: default. |
| timeout | STRING | --timeout | Timeout in milliseconds before a port is assumed closed. Default: 1500. |
| addresses | FILE | · | A file of CIDRs, IPs, or hosts to be scanned. |
| no-config | BOOLEAN | --no-config | Ignore the RustScan configuration file. |
| top-ports | BOOLEAN | --top | Scan the top 1000 ports instead of a custom set. |
| batch-size | STRING | --batch-size | Batch size for scanning; higher is faster, bound by your OS open-file limit. Setting 65535 scans every port at once. Default: 4500. |
| scan-order | STRING | --scan-order | Order ports are scanned: Serial (ascending) or Random. Default: serial. |
example
# port-scan every CIDR, IP, or host in the file across ports 1-1000rustscan -a targets.txt --range 1-1000 --scripts none --batch-size 4500Open 198.51.100.10:22Open 198.51.100.10:80Open 198.51.100.10:443Open 198.51.100.23:8080Open 198.51.100.42:443Open 198.51.100.42:8443[~] Starting Script(s)[>] Script to be run Some("nmap -vvv -p {{port}} {{ip}}")guidance
Use RustScan Loop when your targets already sit in a file and you want one node to port-scan the whole set. For an inline target list or single host, plain rustscan is the direct fit. For deep service and version detection, route the open ports into nmap.
The base scanner, taking inline addresses and a wider set of flags.
The deep follow-up scanner: service detection, version probing, and NSE scripts.
Fast Go port scanner that pairs well with a discovery-to-scan pipeline.
faq
related
Quickly map an organization's network ranges using ASN information.
Maximize your resolver count by combining the target's DNS servers with public resolvers.
Expand CIDR ranges into a list of IP addresses easily.
Expand CIDR ranges into a list of IP addresses easily, from a file.
Maintain a list of IPv4 DNS servers verified against baseline servers for accurate responses.
Patched dnsvalidator that keeps only IPv4 resolvers verified against baseline servers.
A file of targets feeds RustScan Loop, which port-scans every entry and writes the open ports as a queryable output.
Facts on this page come from the live Trickest tool library.