#pcap #packet #sniffing

hcap

围绕 pcap/wpcap 的数据包捕获 API

2 个版本

使用旧Rust 2015

0.0.2 2016年6月10日
0.0.1 2016年6月10日

#6#sniffing

MIT/Apache

60KB
1.5K SLoC

pcap 构建状态 Crates.io

文档

这是一个用于访问pcap(或Windows上的wpcap)数据包嗅探功能的Rust语言crate。如果您需要任何帮助,请随时提交问题或提交pull请求!

特性

  • 列出设备
  • 在设备上打开捕获句柄或保存文件
  • 从捕获句柄获取数据包
  • 使用BPF程序过滤数据包
  • 列出/设置/获取数据链路链接类型
  • 配置一些参数,如混杂模式和缓冲区长度
  • 将数据包写入保存文件
  • 将数据包注入到接口

查看使用示例。

构建

Windows

安装 WinPcap

将 wpcap.dll 放置在您的 C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib\ 目录中(64位)或 C:\Rust\bin\rustlib\i686-pc-windows-gnu\lib\(32位)。

Linux

在基于Debian的Linux上,安装 libpcap-dev。如果不是以root用户运行,您需要设置类似以下的权限: sudo setcap cap_net_raw,cap_net_admin=eip 路径/to/bin

Mac OS X

libpcap应该在Mac OS X上默认安装。

注意: 零超时可能会导致 pcap::Capture::next 挂起并永不返回(因为它等待超时到期才返回)。这可以通过使用非零超时(如libpcap手册建议)并在循环中调用 pcap::Capture::next 来修复。

许可协议

根据您的选择,许可协议为以下之一

贡献

除非您明确表示,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应作为上述双重许可,不附加任何额外条款或条件。

依赖项