#open-ports #ip-address #retrieve #async #ip-addr #vec #concurrency

oports

异步库,用于检索指定IP地址的开放端口

4个版本 (1个稳定版本)

1.0.0 2020年9月7日
0.2.1 2020年2月15日
0.2.0 2019年12月24日
0.1.1 2019年12月24日

#9 in #open-ports

MIT许可证

10KB
64

oports

Rust库,用于异步检索指定IP地址的开放端口

安装

oports添加到项目的cargo.toml文件中作为依赖

[dependencies]
oports = "1.0.0"

如果您已安装cargo-edit实用工具,请使用

$ cargo add oports

接口

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

检查指定IP地址是否开放了指定的端口。

use oports;
use std::net::IpAddr;

let localhost = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1));
let is_open = oports::is_port_open(localhost, 4040).await;

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

检索一个包含给定端口列表和IP地址的开放端口的vec。默认并发数为100,如果Option解析为None值。

use oports;
use std::net::IpAddr;

let localhost = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1));
let ports = (8000..9090).collect::<Vec<u16>>();
let concurrency = Some(120)
let open_ports = oports::get_open_ports(localhost, ports, concurrency).await;

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

检索一个包含给定IP地址的所有开放端口的vec。默认并发数为100,如果Option解析为None值。

use oports;
use std::net::IpAddr;

let localhost = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1));
let ports = (8080..u16::max_value()).collect::<Vec<u16>>();
let concurrency = None // Default to 100
let all_open_ports = oports::get_all_open_ports(localhost, concurrency).await;

许可证

MIT许可证

依赖

~5–15MB
~184K SLoC