有没有类似 ping 的程序,当数据包丢失时会返回 false?

有没有类似 ping 的程序,当数据包丢失时会返回 false?

我正在尝试诊断家庭 LAN 上的网络不稳定情况 - 我的路由器和电缆调制解调器之间失去了连接。在我的 shell 脚本中,我想通过调制解调器 ping 第一个 IP 地址,并在失败时返回 false,以便我可以触发脚本中的其他操作。

有谁知道有这样的野兽吗?

答案1

是的,它被称为ping.

尝试这样的事情(在 bash 中):

while true ; do 
  if ping -c 1 10.202.15.54 > /dev/null ; then 
    echo "It works"
  else 
    echo "It does not work"
  fi
  sleep 5
done

答案2

ping -c 1 $my_host > /dev/null ; if [ $? -eq 0 ]; then "echo all good";else "echo error"

答案3

我会这样做,你会得到一个日志,这样你就可以随着时间的推移运行它并在 Excel 中绘制结果。

#!/bin/bash
#Script to ping the IP after the gateway. 

LOG="ping.csv"
TARGET="10.0.0.1"

while :
do
    if  `ping -c1 $TARGET > /dev/null ` 
    then
        STATUS="OK"
    else    
        STATUS="FAIL"
    fi

    echo "`date +'%D %H:%M:%S'` : $STATUS "
    echo "`date +'%D %H:%M:%S'` , $STATUS " >> $LOG
    sleep 30
done

答案4

很简单:

$ ping -c 1 -W 3 www.go.org | grep -q "100% packet loss" && echo "Packet loss" || echo "Packet received"

相关内容