#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?