extern crate pcap;
extern crate radiotap;
use std::env;
fn main() {
let device = if let Some(arg) = env::args().nth(1) {
arg
} else {
"en0".to_owned()
};
let mut cap = pcap::Capture::from_device(&device[..])
.unwrap()
.timeout(1)
.rfmon(true)
.open()
.unwrap();
cap.set_datalink(pcap::Linktype(127)).unwrap();
let mut count = 0;
while count < 100 {
match cap.next() {
Ok(packet) => {
let radiotap_header = radiotap::Radiotap::from_bytes(&packet);
if radiotap_header.is_ok() {
println!("{:?}\n", radiotap_header);
count += 1;
}
}
Err(pcap::Error::TimeoutExpired) => continue,
Err(e) => {
println!("Unexpected error: {:?}", e);
break;
}
}
}
}