登录
首页 >  Golang >  Go问答

使用Go在特定网络接口上发送ICMP消息的方法

来源:stackoverflow

时间:2024-03-07 22:42:29 303浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《使用Go在特定网络接口上发送ICMP消息的方法》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我是 go 新手。我正在尝试编写一个通过特定网络接口(例如 eth0) ping 8.8.8.8 的程序。使用 linux 上的 ping 命令,您可以指定 -i 标志以通过特定网络接口发送 icmp 消息。

ping -I enp4s0 8.8.8.8

我怎样才能用 go 做到这一点?我查看了几个软件包 - github.com/sparrc/go-pinggithub.com/tatsushid/go-fastpinggolang.org/x/net/icmp;他们似乎都不让我设置界面。


解决方案


您可以使用 net.DialTCPnet.DialIP 如果每个接口都有不同的 IP 地址,它们将使用该接口向您返回连接。然后您可以自己手动发送 ping。

您还可以使用 exec 软件包 https://golang.org/pkg/os/exec/ 在网络接口上发送 ping。您可以使用 exec 与 shell 交互,只需将输出传输回缓冲区并读取它。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用Go在特定网络接口上发送ICMP消息的方法》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>