Hi, I'm trying to capture OSPF hello packets like this:
ens192, err := net.InterfaceByName("ens192") if err != nil { return err } _ = ens192 c, err := net.ListenPacket("ip4:89", "0.0.0.0") // ipv4 proto 89, all local interfaces if err != nil { return err } defer c.Close() p := ipv4.NewPacketConn(c) if err != nil { return err } allSPFRouters := net.ParseIP("224.0.0.5") if err := p.JoinGroup(nil, &net.IPAddr{IP: allSPFRouters}); err != nil { return err } if err := p.SetControlMessage(ipv4.FlagDst|ipv4.FlagSrc|ipv4. FlagInterface, true); err != nil { return err } b := make([]byte, 64) for { n, cm, src, err := p.ReadFrom(b) _ = n if err != nil { return err } if cm.Dst.IsMulticast() { if cm.Dst.Equal(allSPFRouters) { fmt.Printf("OSPF hello received from %v\n", src) } else { // ignore/discard fmt.Printf("Received packet from: %v to %v\n", src, cm.Dst) continue } } } But I can only see locally generated traffic (ie. local ospf process)... I can see anything coming from other OSPF neighbours (even though I can see then when doing tcpdump on ens192).. Any ideas? -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.