Libtraceroute es una biblioteca de traceroute multiplataforma para Rust, que permite mostrar posibles rutas (rutas) y medir retrasos en el tránsito de paquetes a través de una red de Protocolo de Internet (IP). Libtraceroute utiliza pnet, una biblioteca de redes de bajo nivel, para enviar y capturar paquetes en la capa de enlace de datos, lo que le permite operar sin la necesidad de privilegios de root en MacOS y Windows, pero aún requiere sudo en Linux.
Libtraceroute trabaja en la capa de enlace de datos con paquetes personalizados, lo que proporciona al usuario muchas opciones de personalización. La biblioteca permite configurar los siguientes parámetros:
Para usar libtraceroute en su proyecto, agregue lo siguiente a su Cargo.toml:
[dependencies]
libtraceroute = "0.1.0"
¡NOTA! Si está utilizando Windows, siga estas instrucciones para que pnet funcione:
ventanas
- Debes usar una versión de Rust que use la cadena de herramientas MSVC.
- Debe tener instalado WinPcap o npcap (probado con la versión WinPcap 4.1.3) (si usa npcap, asegúrese de instalar con "Instalar Npcap en modo compatible con API de WinPcap")
- Debes colocar
Packet.lib
del paquete WinPcap Developers en un directorio llamadolib
, en la raíz de este repositorio. Alternativamente, puede utilizar cualquiera de las ubicaciones enumeradas en las variables de entorno%LIB%
/$Env:LIB
. Para la cadena de herramientas de 64 bits, está enWpdPack/Lib/x64/Packet.lib
, para la cadena de herramientas de 32 bits, está enWpdPack/Lib/Packet.lib
.
Fuente: https://github.com/libpnet/libpnet/blob/master/README.md