Cross-platform library for traceroute and ping. Written in Rust.
- traceroute
- IPv4 UDP
- IPv6 UDP
- ping
- IPv4 ICMPv4
- IPv6 ICMPv6
- IPv4 UDP
- IPv6 UDP
- IPv4 TCP
- IPv6 TCP
Add tracert
to your dependencies
[dependencies]
tracert = "0.7"
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
This library requires the ability to create raw sockets. Execute with administrator privileges.