1 个不稳定版本

0.1.0 2020年7月20日

#5 in #traceroute

Apache-2.0

27KB
390


状态


概述

Libtraceroute 是一个用于Rust的跨平台traceroute库,它允许显示可能的路由(路径)并测量IP网络中数据包的传输延迟。Libtraceroute使用低级网络库 pnet 来在数据链路层发送和捕获数据包,这使得它在MacOS和Windows上无需root权限即可运行,但在Linux上仍需要sudo权限。


功能

Libtraceroute 在数据链路层使用自定义构建的数据包工作,这为用户提供了大量的自定义选项。库允许配置以下参数

  • [必需] - 目标地址
  • [可选] - 跳数最大值   端口   每跳查询次数   网络接口   协议   查询超时



用法

要在项目中使用 libtraceroute,请将以下内容添加到您的 Cargo.toml 中

[dependencies]
libtraceroute = "0.1.0"

注意! 如果您正在使用Windows,请按照以下说明操作 pnet

Windows

  • 您必须使用使用MSVC工具链的Rust版本
  • 您必须已安装 WinPcapnpcap(使用WinPcap 4.1.3版本进行了测试)(如果使用npicap,请确保以“Install Npcap in WinPcap API-compatible Mode”模式安装)
  • 您必须将 Packet.libWinPcap开发者包 中放置在一个名为 lib 的目录中,在该仓库的根目录下。或者,您可以使用环境变量 %LIB%/$Env:LIB 中列出的任何位置。对于64位工具链,它在 WpdPack/Lib/x64/Packet.lib 中,对于32位工具链,它在 WpdPack/Lib/Packet.lib 中。

来源:https://github.com/libpnet/libpnet/blob/master/README.md

依赖项

~6–19MB
~225K SLoC