use pcapture::PcapByteOrder;
use pcapture::Capture;
use pcapture::fs::pcap::Pcap;
#[cfg(unix)]
fn main() {
let path = "test.pcap";
let pbo = PcapByteOrder::WiresharkDefault;
#[cfg(target_os = "linux")]
let mut cap = Capture::new("ens33").unwrap();
#[cfg(target_os = "freebsd")]
let mut cap = Capture::new("em0").unwrap();
let mut pcap = cap.gen_pcap_header(pbo).unwrap();
for _ in 0..5 {
let record = cap.next_as_pcap().unwrap();
pcap.append(record);
}
pcap.write_all(path).unwrap();
let read_pcap = Pcap::read_all(path, pbo).unwrap();
assert_eq!(read_pcap.records.len(), 5);
}
#[cfg(windows)]
fn main() {
let path = "test.pcap";
let pbo = PcapByteOrder::WiresharkDefault;
let mut cap = Capture::new("\\Device\\NPF_{D98754DF-65FB-4A23-B6F1-8C386EACE452}").unwrap();
let mut pcap = cap.gen_pcap_header(pbo).unwrap();
for _ in 0..5 {
let record = cap.next_as_pcap().unwrap();
pcap.append(record);
}
pcap.write_all(path).unwrap();
let read_pcap = Pcap::read_all(path, pbo).unwrap();
assert_eq!(read_pcap.records.len(), 5);
}