12 releases (breaking)
0.8.0 | May 19, 2024 |
---|---|
0.7.0 | Aug 17, 2023 |
0.6.0 | Aug 16, 2023 |
0.5.2 | Jul 16, 2023 |
0.3.1 | May 7, 2022 |
#1720 in Network programming
85KB
2K
SLoC
tracert
Cross-platform library for traceroute and ping. Written in Rust.
Features
- traceroute
- IPv4 UDP
- IPv6 UDP
- ping
- IPv4 ICMPv4
- IPv6 ICMPv6
- IPv4 UDP
- IPv6 UDP
- IPv4 TCP
- IPv6 TCP
Usage
Add tracert
to your dependencies
[dependencies]
tracert = "0.8"
Note for Windows users
You may need to set up firewall rules that allow ICMP Time-to-live Exceeded
and ICMP Destination (Port) Unreachable
packets to be received.
netsh
example
netsh advfirewall firewall add rule name="All ICMP v4" dir=in action=allow protocol=icmpv4:any,any
netsh advfirewall firewall add rule name="All ICMP v6" dir=in action=allow protocol=icmpv6:any,any
Additional Notes
This library requires the ability to create raw sockets. Execute with administrator privileges.
Dependencies
~3–32MB
~476K SLoC