webscan Crates.io License

Cross-platform web scan library
with the aim of being lightweight and fast.

Features

Usage

Add webscan to your dependencies
toml:Cargo.toml [dependencies] webscan = "0.1.0"

Example

URI Scan Example ```rust extern crate webscan; use webscan::{UriScanner, ScanStatus, RequestMethod}; use tokio; use std::fs::readtostring; use std::time::Duration;

[tokio::main]

async fn main(){ let mut uriscanner = match UriScanner::new(){ Ok(scanner) => (scanner), Err(e) => panic!("Error creating scanner: {}", e), }; let baseuri = String::from("http://192.168.1.18/xvwa/"); uriscanner.setbaseuri(baseuri); let data = readtostring("common.txt"); let text = match data { Ok(content) => content, Err(e) => {panic!("Could not open or find file: {}", e);} }; let wordlist: Vec<&str> = text.trim().split("\n").collect(); for word in wordlist { uriscanner.addword(word.tostring()); } uriscanner.setrequestmethod(RequestMethod::Get); uriscanner.settimeout(Duration::frommillis(10000)); uriscanner.runscan().await; let result = uriscanner.getresult(); print!("Status: "); match result.scanstatus { ScanStatus::Done => {println!("Normal end")}, ScanStatus::Timeout => {println!("Timed out")}, _ => {println!("Error")}, } println!("URI Scan Result:"); for (uri, status) in result.responses { println!("{} {}", uri, status); } println!("Scan Time: {:?}", result.scan_time); }

```

For more details see Examples

Supported platform