icmp.ListenPacket ("udp4", "127.0.0.1") разрешение на возврат отклонено - PullRequest
1 голос
/ 14 апреля 2020

В документации 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

...