# snmpGet **Repository Path**: microrain/snmp-get ## Basic Information - **Project Name**: snmpGet - **Description**: 使用snmp协议对定制客户端进行【信息收集】和【远程控制】 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-08-01 - **Last Updated**: 2023-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # snmpGet #### 介绍 使用snmp协议对定制客户端进行【信息收集】和【远程控制】 #### 使用说明 ##### 定制使用 创建连接 ```go s := snmp.NewSnmpConn("192.168.1.59") defer s.Close() ``` MAC ```go ip, err := s.GetMac() if err != nil { fmt.Println("get ip err:", err) } else { fmt.Println("ip:", ip) } ``` 内存大小 ```go mem, err := s.GetMemory() if err != nil { fmt.Println("get mem err:", err) } else { //单位kb转为mb i, _ := strconv.Atoi(mem) // fmt.Println("mem:", i>>10, "mb") fmt.Println("mem:", float64(i)/1024, "mb") } ``` 内存使用率 ```go mem, err := s.GetMemoryUsage() if err != nil { fmt.Println("get mem usage err:", err) } else { fmt.Println("mem usage:", mem) } ``` 系统运行时间 & 系统运行时间计算系统开机时间 ```go sys, err := s.GetSysUpTime() if err != nil { fmt.Println("get sys up time err:", err) } else { fmt.Println("sys up time:", sys) } timestamp, _ := strconv.Atoi(sys) sysStartTime := time.Now().Add(-time.Duration(timestamp) * time.Microsecond).Format("2006-01-02 15:04:05") fmt.Println("sys start time:", sysStartTime) ``` 重启设备 ```go res, err := s.SetReboot() if err != nil { fmt.Println("set reboot err:", err) } else { fmt.Println("set reboot:", res) } ``` ##### 工具使用 创建连接 ```go s := NewSnmp(ip, SnmpServiceConfig{ Port: 161, Community: "public", Version: Version2c, Timeout: time.Duration(2) * time.Second, }) defer s.Close() ``` get & getOne ```go name, val, err := s.service.GetOne([CONST]) if err != nil { fmt.Println(err) } res, err := s.service.Get( []string{[CONST]}, ) if err != nil { fmt.Println(err) } //for res ... print ``` walk ```go res, err := s.service.Walk([CONST]) if err != nil { fmt.Println(err) } //for res ... print ``` set ```go name, val, err := s.service.Set([CONST], "test") if err != nil { fmt.Println(err) } ```