oports

Rust library to asynchronously retrieve open ports for a given IP address


actions status Crates.io version docs.rs docs

Install

Add oports as a dependency in the cargo.toml file of your project:

toml [dependencies] oports = "1.0.0"

If you have cargo-edit utility tool installed, use:

bash $ cargo add oports

Interface

isportopen(ip: IpAddr, port: u16) -> bool

Check if the given port is open for a specified IP address.

```rust use oports; use std::net::IpAddr;

let localhost = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)); let isopen = oports::isport_open(localhost, 4040).await; ```

getopenports(ip: IpAddr, ports: Vec, concurrency: Option) -> Vec

Retrieves a vec with open ports for a given vec of port numbers an IP addresses. The default concurrency is 100 if the Option resolves to a None value.

```rust use oports; use std::net::IpAddr;

let localhost = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)); let ports = (8000..9090).collect::>(); let concurrency = Some(120) let openports = oports::getopen_ports(localhost, ports, concurrency).await; ```

getallopen_ports(ip: IpAddr, concurrency: Option) -> Vec

Retrieves a vec with all open ports for a given IP address. The default concurrency is 100 if the Option resolves to a None value.

```rust use oports; use std::net::IpAddr;

let localhost = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)); let ports = (8080..u16::maxvalue()).collect::>(); let concurrency = None // Default to 100 let allopenports = oports::getallopenports(localhost, concurrency).await; ```

License

MIT License