2016-12-11 00:25:43 +08:00
|
|
|
extern crate smoltcp;
|
|
|
|
|
2016-12-11 03:27:07 +08:00
|
|
|
use std::env;
|
2017-11-04 07:15:07 +08:00
|
|
|
use smoltcp::phy::{Device, RxToken, RawSocket};
|
2016-12-11 07:15:56 +08:00
|
|
|
use smoltcp::wire::{PrettyPrinter, EthernetFrame};
|
2016-12-11 00:25:43 +08:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let ifname = env::args().nth(1).unwrap();
|
|
|
|
let mut socket = RawSocket::new(ifname.as_ref()).unwrap();
|
|
|
|
loop {
|
2017-11-04 07:15:07 +08:00
|
|
|
let (rx_token, _) = socket.receive().unwrap();
|
|
|
|
rx_token.consume(/*timestamp = */ 0, |buffer| {
|
|
|
|
print!("{}", PrettyPrinter::<EthernetFrame<&[u8]>>::new("", &buffer));
|
|
|
|
Ok(())
|
|
|
|
}).unwrap();
|
2016-12-11 00:25:43 +08:00
|
|
|
}
|
|
|
|
}
|