![패킷이 손실되면 false를 반환하는 ping과 같은 프로그램이 있습니까?](https://linux55.com/image/137076/%ED%8C%A8%ED%82%B7%EC%9D%B4%20%EC%86%90%EC%8B%A4%EB%90%98%EB%A9%B4%20false%EB%A5%BC%20%EB%B0%98%ED%99%98%ED%95%98%EB%8A%94%20ping%EA%B3%BC%20%EA%B0%99%EC%9D%80%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
내 홈 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"