ping 명령은 네트워크 연결 문제를 해결, 테스트 및 진단하는 데 가장 많이 사용되는 도구 중 하나입니다.
Ping은 하나 이상의 ICMP(인터넷 제어 메시지 프로토콜) 에코 요청 패키지를 네트워크의 지정된 대상 IP로 전송하고 응답을 기다리는 방식으로 작동합니다. 대상이 패키지를 수신하면 ICMP 에코 응답으로 응답합니다.
ping 명령을 사용하면 원격 대상 IP가 활성인지 비활성인지 확인할 수 있습니다. 또한 대상과의 통신에서 왕복 지연을 찾아 패킷 손실이 있는지 확인할 수 있습니다.
ping은 거의 모든 Linux 배포 환경에 사전 설치된 iputils(또는 iputils-ping) 패키지의 일부입니다. Windows, macOS 및 FreeBSD에서도 사용할 수 있습니다.
Ping 명령 사용 방법
ping 명령의 구문은 다음과 같습니다.
ping [OPTIONS] DESTINATION
ping 명령의 작동 방식을 더 잘 설명하기 위해 google.com을 ping해 보겠습니다.
ping google.com
# PING google.com (172.217.22.206) 56(84) bytes of data.
# 64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
# 64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
# 64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
# 64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
# ^C
# --- google.com ping statistics ---
# 4 packets transmitted, 4 received, 0% packet loss, time 7ms
# rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms
ping 명령은 도메인 이름을 IP 주소로 확인하고 ICMP 패키지를 대상 IP로 보내기 시작합니다. 대상 IP에 연결할 수 있으면 대상 IP가 응답하고 ping 명령은 다음 필드를 포함하는 줄을 인쇄합니다.
- 데이터 바이트 수입니다. 기본값은 56이며, 이는 64 ICMP 데이터 바이트 - 64바이트로 변환됩니다.
- 대상의 IP 주소 - muc11s01-in-f14.1e100.net(172.217.22.201)입니다.
- 각 패킷의 ICMP 시퀀스 번호입니다. icmp_seq=1입니다.
- 살아있는 시간. - ttl=53
- 패킷이 호스트에 도달하는 왕복 시간인 밀리초 단위로 측정된 ping 시간과 송신자에게 반환되는 응답입니다. - time=41.4ms.
기본적으로 새 패킷을 보내는 간격은 1초입니다.
ping 명령은 인터럽트를 수신할 때까지 ICMP 패키지를 대상 IP 주소로 계속 전송합니다. 명령을 중지하려면 Ctrl+C 키 조합을 누릅니다.
명령이 중지되면 패킷 손실 비율을 포함한 통계가 표시됩니다. 패킷 손실은 데이터가 네트워크 어딘가에서 삭제되었음을 의미하며, 이는 네트워크 내의 문제를 나타냅니다. 패킷 손실이 있는 경우 traceroute 명령을 사용하여 패킷 손실이 발생하는 위치를 식별할 수 있습니다.
ping이 응답을 반환하지 않으면 네트워크 통신이 설정되지 않은 것입니다. 이 경우 대상 IP가 항상 활성화되지 않는 것은 아닙니다. 일부 호스트에는 ICMP 트래픽을 차단하거나 ping 요청에 응답하지 않도록 설정된 방화벽이 있을 수 있습니다.
성공하면 ping 명령이 코드 0으로 종료됩니다. 그렇지 않으면 코드 1 또는 2로 종료됩니다. 이 기능은 셸 스크립트에서 ping 유틸리티를 사용할 때 유용할 수 있습니다.
다음 섹션에서는 가장 일반적으로 사용되는 ping 명령 옵션에 대해 살펴보겠습니다.
패킷 수를 지정
이미 언급했듯이, 기본적으로 ping은 인터럽트 신호를 수신할 때까지 ICMP 패키지를 계속 전송합니다. ping을 종료한 후 보낼 에코 요청 패키지 수를 지정하려면 -c 옵션과 패키지 수를 차례로 사용하십시오.
ping -c 1 DESTINATION
예를 들어 jjeongil.tistory.com을 한 번만 ping하려면 다음을 사용합니다.
ping -c 1 jjeongil.tistory.com
소스 인터페이스를 지정
ping 명령의 기본 동작은 기본 경로를 통해 ICMP 패키지를 전송하는 것입니다. 시스템에 여러 인터페이스가 있는 경우 -I 옵션을 사용하여 소스 인터페이스를 지정할 수 있습니다.
ping -I INTERFACE_NAME DESTINATION
다음 명령은 em2를 소스 인터페이스로 사용하여 jjeongil.tistory.com을 ping합니다.
ping -I em2 jjeongil.tistory.com
인터넷 프로토콜을 지정
ping 명령을 실행하면 시스템 DNS 설정에 따라 IPv4 또는 IPv6이 사용됩니다.
ping을 강제로 IPv4를 사용하려면 -4 옵션을 전달하거나 해당 별칭 ping4를 사용하십시오.
ping -4 DESTINATION
IPv6의 경우 -6 옵션을 전달하거나 ping6을 사용합니다.
ping -6 DESTINATION
결론
ping은 네트워크에서 지정된 호스트의 IP 수준 연결을 테스트할 수 있는 명령줄 네트워크 유틸리티입니다.
ping 명령의 사용 가능한 모든 옵션을 보려면 터미널에 maning을 입력합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : 부팅 가능한 Ubuntu USB 스틱 생성 방법, 예제, 명령어 (0) | 2021.06.03 |
---|---|
Cent OS : 설치된 패키지를 나열하는 방법, 예제, 명령어 (0) | 2021.06.02 |
Linux : Watch 명령어, 예제, 방법 (1) | 2021.05.31 |
Linux : Df 명령어 (디스크 공간 확인 방법, 예제, 명령어) (0) | 2021.05.30 |
Debian 9 : FFmpeg 설치 방법, 예제, 명령어 (0) | 2021.05.29 |