#pcap #networking #capture #packet #manipulating #parser #data

bin+lib ether

用于解析和操作网络数据、数据包捕获的库

9个版本

使用旧Rust 2015

0.1.4 2017年7月20日
0.1.3 2017年7月19日
0.1.2 2017年5月24日
0.1.0 2017年3月31日
0.0.2 2017年1月26日

#58 in #pcap

MIT许可证

34KB
919

ether

crates.io License

ether是一个提供解析和操作网络数据、数据包捕获的库的crate。

注意: ether目前处于alpha阶段(API可能会更改)。

文档

用法

以下是一个简单的示例,它打印出在接口en0上接收到的所有数据包

extern crate ether;

use ether::tap;
use ether::tap::Stream;

fn main() {
    let mut tap = tap::Tap::new("en0").unwrap();
    for packet in tap.stream().wait().filter_map(|p| p.ok()) {
        println!("{:?}", packet);
    }
}

框架

  • 互连
  • pcap
  • tap

工具

  • ethdump
  • 最终...
    • ping
    • 跟踪路由

lib.rs:

这个crate提供了解析和操作网络数据、数据包捕获的库。

用法

ether添加到您的Cargo.toml中的依赖项,并将以下内容添加到crate的root

extern crate ether;

以下是一个简单的示例,它打印出在接口en0上接收到的所有数据包

extern crate ether;

use ether::tap;
use ether::tap::Stream;

fn main() {
let mut tap = tap::Tap::new("en0").unwrap();
for packet in tap.stream().wait().filter_map(|p| p.ok()) {
println!("{:?}", packet);
}
}

依赖项

~280–385KB