|
|
- package network
-
- import (
- "os/exec"
- "runtime"
- "strings"
- )
-
- func Ping(ip string) bool {
- if ip == "" {
- return false
- }
- var cmd *exec.Cmd
- if strings.ToLower(runtime.GOOS) == "linux" {
- cmd = exec.Command("ping", ip, "-c", "1")
- } else {
- cmd = exec.Command("ping", ip, "-n", "1")
- }
-
- out, err := cmd.Output()
- cmd.Run()
-
- str := strings.ToLower(string(out))
-
- if err == nil && strings.Contains(str, "ttl") {
- return true
- }
- return false
-
- }
- func CanConnect(ip, port string) bool {
-
- cmd := exec.Command("telnet", ip, port)
-
- out, _ := cmd.Output()
-
- cmd.Run()
-
- s := string(out)
-
- if strings.Contains(s, "Connected") && strings.Contains(s, "Escape") {
- return true
- }
- return false
-
- }
|