猿问

如何在 golang 中 ping 一个 IP 地址

如何从 golang 应用程序 ping 一个 IP 地址?最终目标是检查服务器是否在线。

go 在标准库中有实现网络 ping 的方法吗?


拉丁的传说
浏览 140回答 3
3回答

萧十郎

我需要和你一样的东西,我已经exec.Command为我的 Raspberry Pi做了一个解决方法(使用)来检查服务器是否在线。这是实验代码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")}

呼如林

不。Go 没有任何内置方法来 ping 标准库中的服务器。您需要自己编写代码。为此,您可以查看golang library 的 icmp 部分。并使用此控制消息列表,正确构造 icmp 消息。但是,请记住,出于安全原因,某些服务器管理员会关闭其服务器上的 ping 服务。因此,如果您的目标是最终检查服务器是否在线,这不是 100% 可靠的方法。
随时随地看视频慕课网APP

相关分类

Go
我要回答