パケットが失われた場合にfalseを返すpingなどのプログラムはありますか?

パケットが失われた場合にfalseを返すpingなどのプログラムはありますか?

私のホームLANのネットワーク不安定状況を診断しようとしています。ルーターとケーブルモデムの間の接続が失われました。私のシェルスクリプトは、モデムを介して最初のIPアドレスをpingし、失敗した場合は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"

関連情報