Expand description
§caracat
caracat (always in lowercase) is a port of caracal from C++ to Rust.
The initial motivation was to benefit from a saner build system to make the project easier to maintain. The architecture is very similar between the two projects and the input/output format is the same. Versions > 1.0.0 might break this compatibility to fix some idiosyncrasies inherited by caracal.
Multiple example binaries are provided:
# Traceroute tool
cargo run --example traceroute -- --help
# Implementation of yarrp
cargo run --example yarrp -- --help
Example traceroute run:
# cargo run --example traceroute -- --as-path-lookups --first=3 google.com
traceroute to 2a00:1450:4007:80e::200e (google.com), 30 hops max, ?? byte packets
3 2a01:cfc0:200:8000:193:252:102:135 (2a01:cfc0:200:8000:193:252:102:135) [AS5511] 8.9ms
4 bundle-ether149.pastr4.paris.opentransit.net (2a01:cfc4:0:400::3) [AS5511] 83.6ms
5 2001:4860:1:1::524 (2001:4860:1:1::524) [AS15169] 9.0ms
6 2a00:1450:80a9::1 (2a00:1450:80a9::1) [AS15169] 9.0ms
7 2001:4860:0:1::7002 (2001:4860:0:1::7002) [AS15169] 10.7ms
8 2001:4860:0:1::1f95 (2001:4860:0:1::1f95) [AS15169] 9.4ms
9 par10s42-in-x0e.1e100.net (2a00:1450:4007:80e::200e) [AS15169] 10.6ms
For more information, please refer to the caracal documentation and to the API documentation.
Modules§
- builder
- Functions for building probe packets.
- checksum
- Functions for computing the caracat checksum.
- models
- Data structures for representing probes and replies.
- neighbors
- Find routes and resolve link-layer addresses.
- parser
- Function for parsing replies.
- rate_
limiter - Limit the rate at which packets are sent.
- receiver
- sender
- Send probes on the network.
- timestamp
- Utilities for encoding timestamps in probe packets.
- utilities
- Utilities.