优点:支持任意权限,不像ICMP需管理员权限
缺点:速度慢,扫描一个C段大约10秒左右
用法: Ladon 192.168.1.1/24 PingScan
package ping
//Ladon Scanner for golang
//Author: k8gege
//K8Blog: http://k8gege.org
//Github: https://github.com/k8gege/LadonGo
import (
"os/exec"
//"log"
//"fmt"
"bytes"
"runtime"
"strings"
)
//Support User
func CmdPing(host string) ( result bool,err error) {
sysType := runtime.GOOS
if sysType == "linux" {
cmd := exec.Command("/bin/sh","-c","ping -c 1 "+host)
var out bytes.Buffer
cmd.Stdout = &out
cmd.Run()
//err := cmd.Run()
//if err != nil {
//log.Fatal(err)
//}
//fmt.Println(out.String())
if strings.Contains(out.String(), "ttl=") {
//fmt.Println("ISOK")
result = true
}
} else if sysType == "windows" {
cmd := exec.Command("cmd","/c","ping -a -n 1 "+host)
var out bytes.Buffer
cmd.Stdout = &out
cmd.Run()
//err := cmd.Run()
//if err != nil {
//log.Fatal(err)
//}
//fmt.Println(out.String())
if strings.Contains(out.String(), "TTL=") {
//fmt.Println("ISOK")
result = true
}
}
return result,err
}
原文:https://www.cnblogs.com/k8gege/p/13944102.html