feat: basic port testing functionality using nc
This commit is contained in:
parent
df65487c8f
commit
cfcd240f6f
7
Cargo.lock
generated
7
Cargo.lock
generated
|
@ -93,6 +93,12 @@ version = "1.19.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
|
||||
[[package]]
|
||||
name = "owo-colors"
|
||||
version = "4.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
|
||||
|
||||
[[package]]
|
||||
name = "pinger"
|
||||
version = "1.1.1"
|
||||
|
@ -194,6 +200,7 @@ checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
|
|||
name = "sage"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"owo-colors",
|
||||
"pinger",
|
||||
]
|
||||
|
||||
|
|
|
@ -4,4 +4,5 @@ version = "0.1.0"
|
|||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
owo-colors = "4.0.0"
|
||||
pinger = "1.1.1"
|
||||
|
|
22
src/main.rs
22
src/main.rs
|
@ -1,10 +1,24 @@
|
|||
use std::io::prelude::*;
|
||||
use std::net::TcpStream;
|
||||
use std::process::Command;
|
||||
|
||||
use owo_colors::OwoColorize;
|
||||
|
||||
fn main() -> std::io::Result<()> {
|
||||
let mut stream = TcpStream::connect("100.64.0.2")?;
|
||||
let ports = [80, 443, 8448];
|
||||
for port in ports {
|
||||
let netcat = Command::new("nc")
|
||||
.arg("-vz")
|
||||
.arg("devraza.giize.com")
|
||||
.arg(format!("{}", port))
|
||||
.output()?;
|
||||
|
||||
stream.write(&[1])?;
|
||||
stream.read(&mut [0; 128])?;
|
||||
let splitted = std::str::from_utf8(&netcat.stderr[..]).unwrap().split(" ");
|
||||
let collection = &splitted.collect::<Vec<&str>>();
|
||||
if collection[7] == "succeeded!\n" {
|
||||
println!("{} {} {}", "✓".green(), collection[2], collection[4]);
|
||||
} else {
|
||||
println!("{} {} {}", "✕".red(), collection[3], collection[6]);
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue