| ▲ | rvermeulen98 6 hours ago | ||||||||||||||||
Thanks, I am glad you like it! I couldn't find a Go API that just returns the OS "default" network interface, so struggled a bit with a correct implementation for that part. When reading some blog posts, I found often a solution where it sends out an UDP dial to for example 8.8.8.8:53 because you can then get the network interface back from the connection it's local address. As fallback I implemented to pick the first non-loopback interface that is up. Would be open to suggestions to do this in a better way! | |||||||||||||||||
| ▲ | fellerts 6 hours ago | parent [-] | ||||||||||||||||
I think this package does exactly what you need: https://pkg.go.dev/github.com/google/gopacket/routing. Works on my machine (error handling left to the reader)
this prints my Ethernet interface as expected. It doesn't make any requests, it just figures out where to route a packet. I guess it interfaces with the OS routing table. | |||||||||||||||||
| |||||||||||||||||