#pcap #async #libpcap #smol

pcap-async

Async/Stream Extensions for libpcap

14 unstable releases (3 breaking)

0.4.1 Sep 30, 2020
0.3.0 Jul 2, 2020
0.2.1 Nov 12, 2020
0.1.5 Mar 29, 2020
0.1.3 Dec 19, 2019

#125 in Asynchronous

Download history 94/week @ 2020-10-25 56/week @ 2020-11-01 45/week @ 2020-11-08 138/week @ 2020-11-15 100/week @ 2020-11-22 190/week @ 2020-11-29 118/week @ 2020-12-06 92/week @ 2020-12-13 57/week @ 2020-12-20 32/week @ 2020-12-27 38/week @ 2021-01-03 50/week @ 2021-01-10 54/week @ 2021-01-17 84/week @ 2021-01-24 84/week @ 2021-01-31 95/week @ 2021-02-07

414 downloads per month

MIT license

62KB
1.5K SLoC

pcap-async

build status crates.io version docs.rs docs MIT licensed

Rust async wrapper around pcap-sys. Utilizes Futures 0.3 and Smol.

Documentation

Usage

First, add this to your Cargo.toml:

[dependencies]
pcap-async = "0.3"

Next, add this to your crate:

use futures::StreamExt;
use pcap_async::{Config, Handle, PacketStream};

fn main() {
    smol::run(async move {
        let handle = Handle::lookup().expect("No handle created");
        let mut provider = PacketStream::new(Config::default(), handle)
            .expect("Could not create provider")
            .fuse();
        while let Some(packets) = provider.next().await {
    
        }
        handle.interrupt();
    })
}

Dependencies

~5.5MB
~111K SLoC