패킷이 손실되면 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"

관련 정보