как получить адресацию целевого IP-адреса icmp (ping) с помощью «golang.org/x/net/icmp «

#go #ping #icmp

#Вперед #ping #icmp

Вопрос:

У меня есть функция прослушивания 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()

}
  

поскольку на моем сервере есть две сетевые карты, я запускаю эту функцию с помощью «Start (0.0.0.0)«,

во время пинга на этот сервер получена следующая информация:

 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 = '', length = 0, source-ip = 192.168.255.133
192.168.255.128===========
2020/08/31 11:11:04 message = '', length = 0, source-ip = 192.168.255.133
  

Только исходный IP-адрес, как получить адресацию целевого IP-адреса ping?