2 个版本
使用旧Rust 2015
0.0.2 | 2016年6月10日 |
---|---|
0.0.1 | 2016年6月10日 |
#6 在 #sniffing
60KB
1.5K SLoC
pcap
文档
这是一个用于访问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版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确表示,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应作为上述双重许可,不附加任何额外条款或条件。