index.go 886 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package socket
  2. import (
  3. "fmt"
  4. "net"
  5. )
  6. var Conn net.Conn
  7. var Conn8 net.Conn
  8. var ConnToMaster net.Conn
  9. const RemotePort = 10100
  10. const LocalPort = 10201
  11. const LocalPort8 = 10202
  12. //const RemoteAddr8 = "192.168.17.14"
  13. const RemoteAddr = "10.0.11.11"
  14. const RemoteAddr8 = "10.0.11.81"
  15. var ConnectedMaster bool
  16. func IsIPExists(targetIP string) (bool, error) {
  17. // 解析目标 IP
  18. ip := net.ParseIP(targetIP)
  19. if ip == nil {
  20. return false, fmt.Errorf("invalid IP address: %s", targetIP)
  21. }
  22. // 获取所有网络接口的地址
  23. addrs, err := net.InterfaceAddrs()
  24. if err != nil {
  25. return false, err
  26. }
  27. // 遍历每个接口地址
  28. for _, addr := range addrs {
  29. // 只处理 IP 网络类型地址 (*net.IPNet)
  30. if ipnet, ok := addr.(*net.IPNet); ok {
  31. // 检查该网段是否包含目标 IP
  32. if ipnet.Contains(ip) {
  33. return true, nil
  34. }
  35. }
  36. }
  37. return false, nil
  38. }