From d3669f25aba9bc852a510644a65f4352eaacf8be Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期五, 21 八月 2020 14:01:06 +0800 Subject: [PATCH] 排除内核虚拟网卡dummy- --- machine.go | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/machine.go b/machine.go index 82966df..186547f 100644 --- a/machine.go +++ b/machine.go @@ -1,6 +1,8 @@ package licence import ( + "sort" + "strconv" "strings" "github.com/shirou/gopsutil/cpu" @@ -10,12 +12,15 @@ ) func GetMachineCode() string { - var machineCode string + var machineInfo []string // CPU - if cpu, err := cpu.Info(); err == nil { - for _, c := range cpu { - machineCode = strings.Join([]string{machineCode, c.String()}, "-cpu-") + if cnt, err := cpu.Counts(true); err == nil { + machineInfo = append(machineInfo, "cpuCounts:"+strconv.Itoa(cnt)) + if cnt > 0 { + if c, err := cpu.Info(); err == nil { + machineInfo = append(machineInfo, "cpuModelName:"+c[0].ModelName) + } } } @@ -23,25 +28,27 @@ if diskInfo, err := disk.Partitions(false); err == nil { for _, d := range diskInfo { diskSerialNumber := disk.GetDiskSerialNumber(d.Device) - strings.Join([]string{machineCode, diskSerialNumber}, "-") + machineInfo = append(machineInfo, diskSerialNumber) } } // Host if host, err := host.Info(); err == nil { - machineCode = strings.Join([]string{machineCode, host.HostID}, "-host-") + machineInfo = append(machineInfo, host.HostID) }*/ // Net if net, err := psnet.Interfaces(); err == nil { for _, n := range net { if n.MTU == 1500 && !VNetFilter(&n) { - machineCode = strings.Join([]string{machineCode, n.HardwareAddr}, "-mac-") + machineInfo = append(machineInfo, "mac:"+n.HardwareAddr) } } } - return GetMd5String(machineCode, true, false) + sort.Strings(machineInfo) + + return GetMd5String(strings.Join(machineInfo, "-|-"), true, false) } func VNetFilter(iface *psnet.InterfaceStat) bool { @@ -55,6 +62,7 @@ "veth", "Npcap", "VirtualBox", + "dummy", } for _, v := range vNetNamePrefix { -- Gitblit v1.8.0