Eyes is a nonblocking port scanner, written to help me learn Rust 🦀
$ git clone https://github.com/jmsdnns/eyes
$ cd eyes
$ cargo run -- 127.0.0.1
More elaborate usage looks like this:
$ cargo run -- 127.0.0.1 -p 22,80,8000-8099
8080: open
[eyes] Finished scan
The -p
flag is for specifying which ports to scan. Ports can be expressed as:
- list of numbers:
eyes <target> -p 22,80,1336
- range of numbers:
eyes <target> -p 22-80
- mix of both:
eyes <target> -p 22,80,8000-8099,443,8443,3000-3443
The -c
flag controls how many sockets are open for scanning at the same time, eg. concurrently. One coroutine is used for each port scanned.
This flag is set to 1000
by default, which is safely below the default number of open files allowed on computers, but go wild if that's your thing too.
The -t
flag controls how long to wait on a connection that isn't opening before decided it's just not reachable.
The default timeout is 3 seconds.
$ cargo run -- -h
Usage: eyes [OPTIONS] <target>
Arguments:
<target> The IP to scan
Options:
-v, --verbose Display detailed information
-p, --ports <ports> List of ports to scan [default: 1-1024]
-c, --concurrency <concurrency> Number of simultaneous scanners [default: 1000]
-t, --timeout <timeout> Connection timeout [default: 3]
-h, --help Print help