|
|
|
|
@ -138,12 +138,13 @@ func Ping(domain string, PS int) {
|
|
|
|
|
len, err := conn.Read(recv)
|
|
|
|
|
//strings.Contains(err.Error(), "timeout")
|
|
|
|
|
//超时状态 len=0 error包含 read ip4 10.0.20.12->103.97.129.254: i/o timeout
|
|
|
|
|
if len == 0 && err != nil {
|
|
|
|
|
fmt.Printf("%s\n", red("timeout"))
|
|
|
|
|
dropPack++
|
|
|
|
|
time.Sleep(time.Second)
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
fmt.Println(len, err)
|
|
|
|
|
//if len == 0 && err != nil {
|
|
|
|
|
// fmt.Printf("%s\n", red("timeout"))
|
|
|
|
|
// dropPack++
|
|
|
|
|
// time.Sleep(time.Second)
|
|
|
|
|
// continue
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
查目标地址是否返回失败
|
|
|
|
|
@ -153,29 +154,23 @@ func Ping(domain string, PS int) {
|
|
|
|
|
dropPack++
|
|
|
|
|
time.Sleep(time.Second)
|
|
|
|
|
continue
|
|
|
|
|
fmt.Println("777777777777777777777777777777777777777777")
|
|
|
|
|
}
|
|
|
|
|
t_end := time.Now()
|
|
|
|
|
dur := float64(t_end.Sub(t_start).Nanoseconds()) / 1e6
|
|
|
|
|
ret_list = append(ret_list, dur)
|
|
|
|
|
if dur < max_lan {
|
|
|
|
|
max_lan = dur
|
|
|
|
|
fmt.Println("88888888888888888888888")
|
|
|
|
|
}
|
|
|
|
|
if dur > min_lan {
|
|
|
|
|
min_lan = dur
|
|
|
|
|
fmt.Println("999999999999999999999999999999999")
|
|
|
|
|
}
|
|
|
|
|
fmt.Println("33333333333333333333333333333333333333333333333")
|
|
|
|
|
select {
|
|
|
|
|
case s := <-c:
|
|
|
|
|
fmt.Println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
|
|
|
|
|
foot(raddr.String(), icmp_seq, dropPack, min_lan, avg_lan, max_lan, ret_list)
|
|
|
|
|
os.Exit(0)
|
|
|
|
|
fmt.Println("Got signal:", s)
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
fmt.Println("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
|
|
|
|
|
if dur <= 50 {
|
|
|
|
|
fmt.Printf("%d bytes from %s (%s): icmp_seq=%d ttl=53 time=%.3f %s\n", len, raddr.String(), raddr.String(), icmp_seq, dur, green("ms"))
|
|
|
|
|
} else if dur <= 500 {
|
|
|
|
|
|