ping (Packet InterNet Groper)
ping은 IP 네트워크를 통해 특정 목적지 호스트까지 패킷이 도달할 수 있는지 확인하고, 되돌아오는 데 걸리는 시간(응답 시간)을 측정하는 명령어입니다. 잠수함의 소나(Sonar)처럼 신호를 보내고 그 반향을 듣는 원리(ICMP 프로토콜)를 사용합니다.
[Image of a computer sending a signal to a server and receiving a return arrow, representing latency]
1. 기본 사용법
ping [옵션] [호스트주소 또는 도메인]
- 예:
ping google.com
2. 주요 옵션
| 옵션 | 이름 | 설명 |
|---|---|---|
-c [횟수] |
count | 패킷을 보낼 횟수를 지정합니다. (리눅스는 기본적으로 무한 반복합니다.) |
-i [초] |
interval | 패킷을 보내는 시간 간격을 설정합니다. (기본값은 1초입니다.) |
-s [크기] |
size | 보낼 패킷의 크기를 바이트 단위로 지정합니다. |
-w [초] |
deadline | 응답 여부와 상관없이 지정된 시간(초)이 지나면 종료합니다. |
-a |
audible | 응답이 올 때마다 삑(Beep) 소리를 냅니다. |
3. 실무 활용 예시
① 네트워크 연결 여부 확인 (기본)
ping 8.8.8.8
② 딱 4번만 확인하고 종료하기
스크립트 내에서 네트워크 체크를 할 때 유용합니다.
ping -c 4 google.com
③ 응답 속도 요약 결과 보기
Ctrl + C를 눌러 종료하면 마지막에 패킷 손실률(Loss)과 최소/평균/최대 응답 시간(RTT) 통계가 나옵니다.
# 예시 결과:
# 4 packets transmitted, 4 received, 0% packet loss, time 3004ms
# rtt min/avg/max/mdev = 32.124/34.567/38.910/2.345 ms
4. [팁] 응답이 오지 않는 경우 (Request Timeout)
- 대상 서버가 꺼져 있음: 실제 서버 물리 전원이 꺼진 경우입니다.
- 방화벽 차단: 보안을 위해 서버에서
ICMP패킷(ping 응답)을 거부하도록 설정한 경우입니다. (이 경우 서비스는 정상인데 ping만 안 올 수 있습니다.) - 네트워크 단절: 내 컴퓨터나 중간 경로의 네트워크 장비에 문제가 생긴 경우입니다.