Quick Network Scanner

Rust library for scanning network hosts asynchronously.

Currently only TCP connect scan is supported.

Usage

```rust use qscan::QScanner; use futures::executor::block_on;

pub fn main() { let scanner = QScanner::new( "127.0.0.0/24,8.8.8.8", "53,443,8000-9000", 1000, 1000, 1); let res = blockon(scanner.scantcp_connect()); } ```

tcp_cs

The project provides a simple scanner binary called tcp_cs that can be build and used as follow:

bash cargo build --release ./target/release/tcp_cs "8.8.8.8" "1-1000"

NOTE: you may need to increase the maximum allowed open files. E.g.,:

bash ulimit -n 10000

Docker Image

It's possible to build and use a Docker image configured for running tcp_cs.

Assuming Docker is installed on your machine and configured to run without sudo (if not, see here and here), proceed by building the image:

bash ./scripts/docker_build.sh

Then you can use the qscan Docker image for running the scanner:

bash ./scripts/docker_run_scan.sh "8.8.8.8" "53"

Docker Image from hub.docker.com

Alternatively, it is possible to download and run a precompiled image from hub.docker.com:

bash docker run --rm 0xor0ne/qscan:latest "8.8.8.8" "80

Related Projects