Skip to content

Instantly share code, notes, and snippets.

@jbg
Created November 12, 2019 01:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jbg/7d39fd4ed53ff5d1f9dafbb3c706797a to your computer and use it in GitHub Desktop.
Save jbg/7d39fd4ed53ff5d1f9dafbb3c706797a to your computer and use it in GitHub Desktop.
#![feature(never_type)]
use std::io;
use pnet::{
packet::ip::IpNextHeaderProtocols,
transport::{ipv4_packet_iter, transport_channel, TransportChannelType},
};
fn main() -> Result<!, io::Error> {
let (_, mut rx) =
transport_channel(64, TransportChannelType::Layer3(IpNextHeaderProtocols::Tcp))?;
let mut iter = ipv4_packet_iter(&mut rx);
loop {
match iter.next() {
Ok((packet, source)) => {
println!("{:?}: {:?}", source, packet);
}
Err(e) => println!("{:?}", e),
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment