#scan #nmap #networking #address-range

bin+lib rustmap

A very simple "Nmap-like" program that can scan for hosts and open TCP ports

3 releases

0.1.2 Jun 24, 2020
0.1.1 Apr 13, 2020
0.1.0 Apr 12, 2020

#8 in #nmap

Apache-2.0

22KB
523 lines

Rustmap Crates.io

Rustmap is a very simple "Nmap-like" program that can scan for hosts and open TCP ports. It is mostly written for educational purposes (I wanted to learn Rust, and learn a bit more about how Nmap works) so it's quite slow and doesn't have many features.

Installation

  1. Install Rust
  2. cargo install rustmap

Examples

Check if a single host is up:

sudo rustmap 127.0.0.1

Scan all TCP ports for a single host:

sudo rustmap 127.0.0.1 -p

Scan all TCP ports for multiple hosts:

sudo rustmap 127.0.0.1 ::1 -p

Scan for specific ports in an address range:

sudo rustmap 127.0.0.0/8 -p 22,80,443

Usage

rustmap [OPTIONS] <addr-ranges>...

Flags

-h, --help

Prints help information

-V, --version

Prints version information

Options

-p, --ports <ports>...

Probe ports for each host and optionally specify which ports.

Ports can be specified as a comma-separated list, or left unspecified to scan all ports.

-t, --timeout <timeout>

Timeout for pinging each host and probing each port.

Parsing is provided by the parse_duration crate and supports almost any notation. E.g. 1s, 10 seconds, 1 hour, 15 minutes, 12 seconds, 10m32s112ms. [default: 1s]

Args

<addr-ranges>...

IP addresses to scan.

Supports IPv4 notation (e.g. 127.0.0.1), IPv6 notation (e.g. ::1), IPv4-mapped IPv6 notation (e.g. ::ffff::1.1.1.1) and CIDR notation (e.g. 192.168.0.0/16, fe80::/10).

License

Apache 2.0

Dependencies

~5–7MB
~120K SLoC