Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "log"
- "net"
- "time"
- )
- func perr(err error) {
- if err != nil {
- panic(err)
- }
- }
- func main() {
- ifaces, err := net.Interfaces()
- perr(err)
- for _, iface := range ifaces {
- log.Println("INTERFACE", iface)
- addrs, err := iface.Addrs()
- perr(err)
- for _, addr := range addrs {
- log.Println("ADDR", addr)
- if addr, ok := addrs[0].(*net.IPNet); ok {
- log.Println("OK net.IPNet")
- tcpAddr := &net.TCPAddr{
- IP: addr.IP,
- }
- d := net.Dialer{
- Timeout: 3 * time.Second,
- LocalAddr: tcpAddr,
- }
- _, err = d.Dial("tcp", "google.com:80")
- if err != nil {
- log.Println("ERROR", err)
- } else {
- log.Println(">>> WOOHOO")
- }
- } else {
- log.Println("NOT net.IPNet")
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement