ioerror

ping 사용법 및 옵션 - 네트워크 연결 상태 확인 및 패킷 전송 테스트 본문

OS

ping 사용법 및 옵션 - 네트워크 연결 상태 확인 및 패킷 전송 테스트

반응형

ping - Packet Internet Groper

대상 호스트에 ICMP(Internet Control Message Protocol) 에코 요청을 보내어 네트워크 연결 상태를 진입하고 응답 시간을 측정하는 명령어이다. 네트워크 장애 진단 및 원격 서버의 활성화 여부를 확인하는 데 주로 사용된다. 대다수의 유닉스 및 리눅스 계열 OS와 윈도우 환경에서 기본적으로 제공된다.

1. 명령어 용도

  • 서버 변경이나 네트워크 설정 변경 후 목적지 서버가 정상적으로 켜져 있고 통신이 가능한지 확인할 때 사용되다.
  • 도메인 네임 서버(DNS)가 정상적으로 작동하여 IP 주소로 변환되는지 테스트할 때 활용되다.
Bash
 
# 특정 도메인의 네트워크 연결 상태를 확인하는 가장 일반적인 예시
ping google.com

2. 명령어 서식

Bash
 
ping [옵션] 목적지_IP_또는_도메인

3. 명령어 옵션

옵션 설명 사용가능 OS 및 쉘
-c [횟수] 지정한 횟수만큼 패킷을 보내고 종료하다. Linux, macOS
-i [초] 패킷을 보내는 시간 간격을 설정하다. (기본값 1초) Linux, macOS
-s [바이트] 전송할 패킷의 크기를 바이트 단위로 지정하다. Linux, macOS
-t [TTL] Time To Live(생존 시간) 값을 수동으로 설정하다. Linux, macOS
-W [초] 응답을 기다리는 타임아웃 시간을 설정하다. Linux, macOS
-f 핑 플러드(Flood); 패킷을 가능한 빠르게 연속 전송하다. (관리자 권한 필요) [Ubuntu] [CentOS]
-t 사용자가 중단(Ctrl+C)할 때까지 무한으로 패킷을 전송하다. [Windows]
Bash
 
# 3번만 패킷을 전송하고 0.5초 간격으로 수행하는 예시
ping -c 3 -i 0.5 8.8.8.8

# 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=115 time=11.2 ms
# 64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=10.5 ms
# 64 bytes from 8.8.8.8: icmp_seq=3 ttl=115 time=12.1 ms
# 
# --- 8.8.8.8 ping statistics ---
# 3 packets transmitted, 3 received, 0% packet loss, time 1002ms
# rtt min/avg/max/mdev = 10.512/11.271/12.114/0.655 ms
  • 64 bytes from...: 목적지로부터 정상적으로 64바이트 응답 패킷을 수신했음을 의미하다.
  • icmp_seq: 패킷의 순서 번호를 나타내며, 중간에 빠진 숫자가 있다면 패킷 손실이 발생한 것이다.
  • ttl: Time To Live 값으로, 라우터를 거칠 때마다 1씩 감소하여 패킷의 무한 루프를 방지하다.
  • time: 패킷이 왕복하는 데 걸린 시간(밀리초)을 나타내며, 낮을수록 연결 상태가 좋다.
  • packet loss: 전송된 패킷 대비 유실된 패킷의 비율을 보여주며, 0%가 이상적이다.

4. 명령어 특이사항(유의사항)

  • StackOverflow 등에서 자주 언급되듯이, 대상 서버의 방화벽이나 클라우드 보안 그룹(AWS Security Group 등)에서 ICMP 프로토콜을 차단한 경우 서버가 켜져 있어도 Request timeout 또는 패킷 100% 손실이 발생할 수 있다. 이는 웹 서비스(HTTP/HTTPS)가 정상 작동하더라도 발생하므로 ping 결과만으로 서버 다운을 확정할 수 없다.
  • 리눅스 계열은 옵션 없이 사용 시 무한으로 패킷을 전송하므로 반드시 Ctrl + C를 눌러 종료해야 통계 화면을 볼 수 있다.

관련 명령어들

  • traceroute : 목적지까지 가는 경로의 라우터들을 추적하다.
  • netstat : 네트워크 연결 상태 및 인터페이스 통계를 확인하다.
  • nslookup : 도메인의 IP 주소를 조회하다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

반응형
Comments