如何使用“ golang.org/x/net/icmp”获取icmpping目标ip地址

问题描述

我有一个icmp监听功能:

func Start(url string) {

conn,err := icmp.ListenPacket("ip4:icmp",url)
if err != nil {
    log.Fatal(err)
}

for {
    var msg []byte
    length,sourceIP,err := conn.ReadFrom(msg)

    if err != nil {
        log.Println(err)
        continue
    }
    fmt.Println(url + "===========")
    log.Printf("message = '%s',length = %d,source-ip = %s",string(msg),length,sourceIP)
}
_ = conn.Close()

}

因为我的服务器主机中有两个网卡,所以我使用“ 开始(0.0.0.0)”,

ping此服务器时,获得以下信息:

2020/08/31 11:11:02 message = '',length = 0,source-ip = 192.168.255.133
192.168.255.128===========
2020/08/31 11:11:03 message = '',source-ip = 192.168.255.133
192.168.255.128===========
2020/08/31 11:11:04 message = '',source-ip = 192.168.255.133

仅源IP地址,如何获取ping目标ip地址?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...