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

您可以使用 icmp 定位特定端口吗?

您可以使用 icmp 定位特定端口吗?

Go
宝慕林4294392 2021-12-07 18:26:07
我相信标题是不言自明的,但为了以防万一,我会进一步解释。我正在用 Go 编写一个函数,它使用 icmp 来检查特定服务是否正在运行。我从 Go 中实现的 ping 中得到了这个想法。当我尝试命令行ping时,它无法解析127.0.0.1:8080,并且功能也随之而来,这是有道理的。但是我可以使用 icmp 来检查地址和端口是否有遗漏吗?或者我应该坚持使用 tcp 之类的东西来定位端口?现在我有这个简单的功能,我可以只使用 tcp,但我很好奇我是否可以使用像 icmp 这样的东西。func (c *Controller) Ping() error {    conn, connErr := net.Dial("ip4:icmp", c.APIServerIP)    if connErr != nil {        return connErr    }    conn.SetDeadline(time.Now().Add(3 * time.Second))    defer conn.Close()    return nil}
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

否。ICMP 中没有端口。

如果您想知道特定的 TCP 服务器是否正在运行,请尝试连接到它。


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

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