From e5959fe81f471609ad85edbd7c70ade2009e3281 Mon Sep 17 00:00:00 2001 From: JOLIMAITRE Matthieu Date: Fri, 21 Jun 2024 03:11:18 +0200 Subject: [PATCH] dm secu --- securite/dm/pcap_analyzer/src/main.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/securite/dm/pcap_analyzer/src/main.rs b/securite/dm/pcap_analyzer/src/main.rs index 83ce841..3cdd889 100644 --- a/securite/dm/pcap_analyzer/src/main.rs +++ b/securite/dm/pcap_analyzer/src/main.rs @@ -12,23 +12,30 @@ fn main() -> Result<(), Box> { Cmd::Links => { for record in pcap.list_datalinks()? { let name = record.get_name().unwrap_or_else(|_| "".into()); - let description = record.get_description().unwrap_or_default(); - println!("link {name} {description}") + let desc = record.get_description().unwrap_or_default(); + println!("link {name} {desc}") } } Cmd::Stats => { - let mut total_ipv4 = 0; let mut total = 0; + let mut total_ipv4 = 0; + let mut errs = 0; while let Ok(packet) = pcap.next_packet() { - let packet = SlicedPacket::from_ethernet(packet.data)?; + total += 1; + + let Ok(packet) = SlicedPacket::from_ethernet(packet.data) else { + errs += 1; + continue; + }; + if let Some(NetSlice::Ipv4(_)) = packet.net { total_ipv4 += 1; } - total += 1; } println!("Count: {total: >9}"); println!("Count IPv4: {total_ipv4: >9}"); + println!("Errors: {errs: >9}"); } }