Advertisement
Guest User

Untitled

a guest
Aug 27th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "log"
  5. "net"
  6. "time"
  7. )
  8.  
  9. func perr(err error) {
  10. if err != nil {
  11. panic(err)
  12. }
  13. }
  14.  
  15. func main() {
  16. ifaces, err := net.Interfaces()
  17. perr(err)
  18. for _, iface := range ifaces {
  19. log.Println("INTERFACE", iface)
  20. addrs, err := iface.Addrs()
  21. perr(err)
  22. for _, addr := range addrs {
  23. log.Println("ADDR", addr)
  24. if addr, ok := addrs[0].(*net.IPNet); ok {
  25. log.Println("OK net.IPNet")
  26. tcpAddr := &net.TCPAddr{
  27. IP: addr.IP,
  28. }
  29. d := net.Dialer{
  30. Timeout: 3 * time.Second,
  31. LocalAddr: tcpAddr,
  32. }
  33. _, err = d.Dial("tcp", "google.com:80")
  34. if err != nil {
  35. log.Println("ERROR", err)
  36. } else {
  37. log.Println(">>> WOOHOO")
  38. }
  39. } else {
  40. log.Println("NOT net.IPNet")
  41. }
  42. }
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement