리눅스 ping -c 옵션 안되는 현상

1 개요[ | ]

ping --count option doesn't work.
ping -c 옵션 안되는 현상
  • -c 옵션을 준 목적은 ping을 1회 시도해보고 되든 안되든 그 결과를 알아내고자 한 것이다.
  • 그런데 무한히 재시도하는 경우도 발생할 수 있다.
Console
Copy
root@ubuntu1:~# ping 8.8.8.8 -c1
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network is unreachable
ping: sendto: Network is unreachable
ping: sendto: Network is unreachable
... (생략)
ping: sendto: Network is unreachable
^C--- 8.8.8.8 ping statistics ---
0 packets transmitted, 0 packets received,
→ -c1 옵션을 주었지만 무한정 계속 시도하여 끝나지 않음

2 (비교) 일반적인 경우[ | ]

  • 성공
Console
Copy
root@zetawiki:~# ping 8.8.8.8 -c1
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=35.8 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
→ 응답 패킷을 받고 끝남
  • 실패
Console
Copy
root@zetawiki:~# ping 123.123.123.123 -c1
PING 123.123.123.123 (123.123.123.123) 56(84) bytes of data.

--- 123.123.123.123 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
→ 패킷 유실로 처리됨

3 원인[ | ]

Console
Copy
root@ubuntu1:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.255.0   U     0      0        0 eth1
→ 기본 게이트웨이가 없음
  • 기본 게이트웨이가 없으니 ping 패킷을 보내는 것조차 하지 못해 횟수가 count 되지 않는 것

4 대체 방안[ | ]

  • workaround로 timeout 을 붙여 수행
Console
Copy
root@ubuntu1:~# timeout 1 ping 8.8.8.8 -c1
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network is unreachable
→ ping을 보내지 못하더라도 1초 후 중단됨
  • 만약 게이트웨이가 추가되어 성공하는 경우라면...
Console
Copy
root@ubuntu2:~# timeout 1 ping 8.8.8.8 -c1
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=43 time=37.960 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 37.960/37.960/37.960/0.000 ms

5 같이 보기[ | ]

  • 리눅스 hosts 파일
    hosts 파일 내용을 아래와 같이 같은 이름 test1을 2개 설정한 경우, test1을 호출하면 위에 있는 8.8.8.8로 접속 -> 위 부분에서 8.8.8.8 서버가 통신이 안되면 8.8.4.4 서버로 질의를 해서 dns를 호출하나요?? 올해대박
  • 리눅스 hosts 파일
    hosts 파일(및 DNS)에 그런 기능은 없고, 도메인명을 IP주소로 해석(resolve)해주는 역할만 합니다. 즉, 해당 IP가 접속이 되든 안되든 상관없이, 계속 test1가 8.8.8.8라고 알려줍니다.J Jmnote
  • 리눅스 nc 포트 열기
    중지시키려면 kill -9 27909 ^^
  • 우분투 절전모드 해제시 와이파이 안되는 문제
    driver=iwlwifi 인 인텔 랜카드를 사용중인데 됐다 안됐다 하네요 그래도 아예 안되는것 보다는 나은것 같습니다. D4RT
  • 우분투 절전모드 해제시 와이파이 안되는 문제
    으휴, 컴이 똥컴만 아니면 윈도우 쓸텐데... Beyondthelimit