smoltcpdump.rs 388 B

123456789101112131415
  1. extern crate smoltcp;
  2. use std::env;
  3. use smoltcp::phy::{Device, RawSocket};
  4. use smoltcp::wire::{PrettyPrinter, EthernetFrame};
  5. fn main() {
  6. let ifname = env::args().nth(1).unwrap();
  7. let mut socket = RawSocket::new(ifname.as_ref()).unwrap();
  8. loop {
  9. socket.recv(|buffer| {
  10. print!("{}", PrettyPrinter::<EthernetFrame<_>>::new("", &buffer))
  11. })
  12. }
  13. }