В документации https://godoc.org/golang.org/x/net/icmp#ListenPacket упоминается:
Для непривилегированных конечных точек ICMP, ориентированных на дейтаграммы, сеть должна быть "udp4" или "udp6". Конечная точка позволяет читать, записывать несколько ограниченных ICMP-сообщений, таких как эхо-запрос и эхо-ответ. В настоящее время только Дарвин и Linux поддерживают это.
Для привилегированных необработанных конечных точек ICMP сеть должна быть "ip4" или "ip6", за которой следует двоеточие и номер или имя протокола ICMP.
Но когда я попробую этот код:
package main
import (
"fmt"
"golang.org/x/net/icmp"
)
func main() {
_, err := icmp.ListenPacket("udp4", "127.0.0.1")
fmt.Println(err)
}
Ошибка вернулась:
socket: permission denied
Что-то не так в моем коде?
Операционная система : Ubuntu 18.04