12345678910111213141516171819202122232425262728 |
- package utils
- import (
- "log"
- "net"
- )
- // 获取本机网卡IP
- func GetNetIP() (ipv4 string) {
- // 获取所有网卡
- addrs, err := net.InterfaceAddrs()
- if err != nil {
- log.Printf("InterfaceAddrs error: %v", err)
- return ""
- }
- // 取第一个非lo的网卡IP
- for _, addr := range addrs {
- // 这个网络地址是IP地址: ipv4, ipv6
- if ipNet, isIpNet := addr.(*net.IPNet); isIpNet && !ipNet.IP.IsLoopback() {
- // 跳过IPV6
- if ipNet.IP.To4() != nil {
- ipv4 = ipNet.IP.String() // 192.168.1.1
- return
- }
- }
- }
- return ""
- }
|