Guest User

Untitled

a guest
Mar 22nd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "net"
  6. "os"
  7. )
  8.  
  9. func main() {
  10. mgmtInterface, err := net.InterfaceByName("ens160")
  11. if err != nil {
  12. fmt.Println("Unable to find interface")
  13. os.Exit(-1)
  14. }
  15.  
  16. addrs, err := mgmtInterface.Addrs()
  17. if err != nil {
  18. fmt.Println("Interface has no address")
  19. os.Exit(-1)
  20. }
  21. for _, addr := range addrs {
  22. var ip net.IP
  23. var mask net.IPMask
  24. switch v := addr.(type) {
  25. case *net.IPNet:
  26. ip = v.IP
  27. mask = v.Mask
  28. case *net.IPAddr:
  29. ip = v.IP
  30. mask = ip.DefaultMask()
  31. }
  32. if ip == nil {
  33. continue
  34. }
  35. ip = ip.To4()
  36. if ip == nil {
  37. continue
  38. }
  39. cleanMask := fmt.Sprintf("%d.%d.%d.%d", mask[0], mask[1], mask[2], mask[3])
  40. fmt.Println(ip, cleanMask)
  41. }
  42. }
Add Comment
Please, Sign In to add comment