Saltar al contenido

Cómo hacer ping a una dirección IP en golang

No dejes de compartir nuestro espacio y códigos en tus redes sociales, danos de tu ayuda para aumentar nuestra comunidad.

Solución:

Como menciona @desaipath, no hay forma de hacer esto en la biblioteca estándar. Sin embargo, no es necesario que escriba el código usted mismo, ya se ha hecho:

https://github.com/tatsushid/go-fastping

Tenga en cuenta que el envío de paquetes ICMP requiere privilegios de root

Necesitaba lo mismo que tú y he hecho una solución (con exec.Command) para que mi Raspberry Pi compruebe si los servidores están en línea. Aquí está el código experimental

out, _ := exec.Command("ping", "192.168.0.111", "-c 5", "-i 3", "-w 10").Output()
if strings.Contains(string(out), "Destination Host Unreachable") 
    fmt.Println("TANGO DOWN")
 else 
    fmt.Println("IT'S ALIVEEE")

No.

Go no tiene una forma incorporada de hacer ping a un servidor en la biblioteca estándar. Necesita escribir el código usted mismo.

Para eso, puede consultar la sección icmp de la biblioteca golang. Y use esta lista de mensajes de control para construir el mensaje icmp correctamente.

Pero tenga en cuenta que algunos administradores de servidor cierran el servicio de ping en su servidor, por razones de seguridad. Por lo tanto, si su objetivo es verificar en última instancia si el servidor está en línea o no, este no es un método 100% confiable.

Reseñas y puntuaciones

Al final de todo puedes encontrar las interpretaciones de otros usuarios, tú además puedes dejar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *