libtraceroute

Crates.iolibtraceroute
lib.rslibtraceroute
version0.1.0
sourcesrc
created_at2020-07-20 19:20:23.283898
updated_at2020-07-20 19:20:23.283898
descriptionCross-platform traceroute library for Rust
homepagehttps://github.com/ilyagrishkov/libtraceroute
repositoryhttps://github.com/ilyagrishkov/libtraceroute
max_upload_size
id267350
size62,689
Ilya Grishkov (ilyagrishkov)

documentation

README


STATUS


OVERVIEW

Libtraceroute is a cross-platform traceroute library for Rust, that allows displaying possible routes (paths) and measuring transit delays of packets across an Internet Protocol (IP) network. Libtraceroute uses pnet, a low-level networking library, to send and capture packets at the data link layer, which allows it to operate without the need for root privileges on MacOS and Windows, but still requires sudo on Linux.


FEATURES

Libtraceroute works at the data link layer with custom-built packets, which provides the user with a lot of options for customizations. The library allows to configure the following parameters:

  • [REQUIRED] - Destination address
  • [OPTIONAL] - Maximum number of hops   Port   Number of queries per hop   Network interface   Protocol   Timeout per query



USAGE

To use libtraceroute in your project, add the following to your Cargo.toml:

[dependencies]
libtraceroute = "0.1.0"

NOTE! If you are using Windows, follow these instructions to make pnet work:

Windows

  • You must use a version of Rust which uses the MSVC toolchain
  • You must have WinPcap or npcap installed (tested with version WinPcap 4.1.3) (If using npcap, make sure to install with the "Install Npcap in WinPcap API-compatible Mode")
  • You must place Packet.lib from the WinPcap Developers pack in a directory named lib, in the root of this repository. Alternatively, you can use any of the locations listed in the %LIB%/$Env:LIB environment variables. For the 64 bit toolchain it is in WpdPack/Lib/x64/Packet.lib, for the 32 bit toolchain, it is in WpdPack/Lib/Packet.lib.

Source: https://github.com/libpnet/libpnet/blob/master/README.md

Commit count: 46

cargo fmt