|
1 | | -use criterion::{criterion_group, criterion_main, Criterion}; |
2 | | -use std::hint::black_box; |
| 1 | +use criterion::{black_box, criterion_group, criterion_main, Criterion}; |
| 2 | +use rustscan::input::{PortRange, ScanOrder}; |
| 3 | +use rustscan::port_strategy::PortStrategy; |
| 4 | +use rustscan::scanner::Scanner; |
| 5 | +use std::net::IpAddr; |
| 6 | +use std::time::Duration; |
3 | 7 |
|
4 | | -fn fibonacci(n: u64) -> u64 { |
5 | | - match n { |
6 | | - 0 => 1, |
7 | | - 1 => 1, |
8 | | - n => fibonacci(n - 1) + fibonacci(n - 2), |
9 | | - } |
| 8 | +fn portscan_tcp() { |
| 9 | + let addrs = vec!["127.0.0.1".parse::<IpAddr>().unwrap()]; |
| 10 | + let range = PortRange { |
| 11 | + start: 1, |
| 12 | + end: 60_000, |
| 13 | + }; |
| 14 | + let strategy = PortStrategy::pick(&Some(range), None, ScanOrder::Serial); |
| 15 | + let _scanner = Scanner::new( |
| 16 | + &addrs, |
| 17 | + 10, |
| 18 | + Duration::from_millis(100), |
| 19 | + 1, |
| 20 | + false, |
| 21 | + strategy, |
| 22 | + true, |
| 23 | + vec![], |
| 24 | + false, |
| 25 | + ); |
| 26 | + // Perform the actual scan or logic here if needed |
| 27 | +} |
| 28 | + |
| 29 | +fn portscan_udp() { |
| 30 | + let addrs = vec!["127.0.0.1".parse::<IpAddr>().unwrap()]; |
| 31 | + let range = PortRange { |
| 32 | + start: 1, |
| 33 | + end: 60_000, |
| 34 | + }; |
| 35 | + let strategy = PortStrategy::pick(&Some(range), None, ScanOrder::Serial); |
| 36 | + let _scanner = Scanner::new( |
| 37 | + &addrs, |
| 38 | + 10, |
| 39 | + Duration::from_millis(100), |
| 40 | + 1, |
| 41 | + false, |
| 42 | + strategy, |
| 43 | + true, |
| 44 | + vec![], |
| 45 | + true, |
| 46 | + ); |
| 47 | + // Perform the actual scan or logic here if needed |
10 | 48 | } |
11 | 49 |
|
12 | 50 | fn criterion_benchmark(c: &mut Criterion) { |
13 | | - c.bench_function("fib 20", |b| b.iter(|| fibonacci(black_box(20)))); |
| 51 | + c.bench_function("portscan tcp", |b| b.iter(|| portscan_tcp())); |
| 52 | + c.bench_function("portscan udp", |b| b.iter(|| portscan_udp())); |
14 | 53 | } |
15 | 54 |
|
16 | 55 | criterion_group!(benches, criterion_benchmark); |
|
0 commit comments