use nata::{
datalink::{pcap::Pcap, Interface, PacketWrite},
layer::{ether::Ether, ip::Ipv4, raw::Raw, tcp::Tcp, LayerExt, LayerOwned},
packet::Packet,
};
fn main() {
let int = Interface::init::<Pcap>("lo").unwrap();
let (mut rx, mut tx) = int.into_split();
for pkt in &mut rx {
println!("Packet: {:?}", pkt);
let layers: Vec<LayerOwned> = vec![
Box::new(Ether::default()),
Box::new(Ipv4::default()),
Box::new(Tcp::default()),
Box::new(Raw::parse(b"hello world").unwrap().1),
];
let mut p = Packet::from_layers(layers);
p.finalize().unwrap();
tx.write(p).unwrap();
}
}