Go ipv4: listen ip4:tcp 192.168.1.108: bind: An invalid argument was supplied

Хочу отправить сырой TCP пакет с Ethernet интерфейса удаленному хосту, опустил детали сериализации TCP пакета для наглядности. На Windows платформе выбивает An invalid argument was supplied., рылся в сети и ничего толкового не нашел от слова совсем. Ошибку выдает на этапе net.ListenPacket Код:

package main

import (
    "net"

    "golang.org/x/net/ipv4"
)

func main() {
    conn, err := net.ListenPacket("ip4:tcp", "0.0.0.0")
    if err != nil {
        panic(err)
    }
    defer conn.Close()
    raw, err := ipv4.NewRawConn(conn)
    if err != nil {
        panic(err)
    }
    n, err := raw.WriteToIP([]byte("Hello"), &net.IPAddr{IP: net.ParseIP("142.251.39.81")})
    if n == 0 && err != nil {
        panic(err)
    }
}

Ответы (0 шт):