为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 golang 中 ping 一个 IP 地址

如何在 golang 中 ping 一个 IP 地址

Go
拉丁的传说 2021-11-01 10:23:37
如何从 golang 应用程序 ping 一个 IP 地址?最终目标是检查服务器是否在线。go 在标准库中有实现网络 ping 的方法吗?
查看完整描述

3 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

我需要和你一样的东西,我已经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")

}


查看完整回答
反对 回复 2021-11-01
?
呼如林

TA贡献1798条经验 获得超3个赞

不。

Go 没有任何内置方法来 ping 标准库中的服务器。您需要自己编写代码。

为此,您可以查看golang library 的 icmp 部分。并使用此控制消息列表,正确构造 icmp 消息。

但是,请记住,出于安全原因,某些服务器管理员会关闭其服务器上的 ping 服务。因此,如果您的目标是最终检查服务器是否在线,这不是 100% 可靠的方法。


查看完整回答
反对 回复 2021-11-01
  • 3 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信