Quick Network Scanner CLI
Rust command line utility for quick asynchronous network hosts scanning.
NOTE: in order to use the tool you may need to increase the maximum allowed open files. E.g.:
NOTE: for the ping scan mode, you need
rootor other proper permissions (i.e. CAP_NET_RAW).
See the CLI tool on crates.io.
Obtain qsc
Clone the repository and build qsc with:
# Install (optional)
If not installed, qsc executable can be found in ./target/release/qsc.
Alternatively, it is possible to install from crates.io:
Usage
Print the help message using -h option:
>>> qsc
;
);
;
)
)
;
;
|;
;
;
)
here are a few usage examples:
# Single target, multiple ports
# Scan local lan (assuming 192.168.1.0/24) for SSH default port. In this case we
# are reducing the timeout to 500ms.
# Use a domain name as target
# Use a file as target, the file must contain a target (IP, cidr or domain name)
# for each line
# Print all the ports with OPEN/CLOSE indication and save results in json
# format in file /tmp/res.json
# Ping scan: 3 re-tries, 1s timeout, 1s interval between pings. Print UP/DOWN info
# Ping+TCP connect scan (assuming 192.168.1.0/24 is your local network)
# Scan ports 22, 80 and 443 for all targets that answer to ping
# Also, save results in json format in /tmp/res.json
Docker Image
It's possible to build and use a Docker image configured for running qsc.
Assuming Docker is installed on your machine and configured to run without sudo (if not, see here and here), proceed by building the image:
Then you can use the 0xor0ne/qscan Docker image for running the scanner:
the same thing can be done using the helper script:
Docker Image from hub.docker.com
Alternatively, it is possible to download and run a precompiled image from hub.docker.com: