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
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;
许可证
依赖
~5–15MB
~184K SLoC