Rust async wrapper around pcap-sys. Utilizes Futures 0.3 and Smol.
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();
})
}