덕분이 리눅스에 액세스하는 많은 도구를 촉진하는 네트워킹 행정&diagnostics. 이러한 의미에서 Linux ping 명령은 sysadmins 및 네트워크 관리자에게 가장 유용한 도구 중 하나입니다.

기본 기능은 네트워크의 한 호스트에 도달 할 수 있는지 여부를 결정하는 것입니다. 그러나이 게시물에서는 Linux Ping 명령의 다른 고급 기능을 다룰 것입니다.

목차

ping 명령의 사용은 무엇입니까?,

ping 명령은 네트워크 작업을위한 가장 기본적인 도구 중 하나입니다. 그 목적은 네트워크 연결 오류를 진단하는 것입니다.이러한 방식으로 네트워크 노드가 연결이 끊어 졌는지 알 수 있습니다. 다른 한편으로,그것은 또한 유용한 다른 진단 작업을 수행과 같은 다음과 같다:

  • 하는데 걸리는 시간을 측정하여 두 네트워크 통신합니다.
  • 우리는 또한 특정 호스트의 IP 주소를 식별 할 수있을 것입니다. 우리는 인터넷과 개인 네트워크 모두에서 이 기능을 사용할 수 있습니다.,
  • ping 명령은 bash 스크립트에서 네트워크 노드로 자동 검사를 수행하는 데 사용할 수 있습니다.
  • 특정 장비와의 연결이 있는지 알 수 있습니다.

보시다시피 네트워크 및 서버 관리에 필요한 명령입니다.

ping 명령은 어떻게 작동합니까?

Linux 에서 ping 명령의 기능은 설명하기가 매우 간단합니다. 이 명령은 일련의 작은 패킷을 특정 노드로 보냅니다.

IP 주소 또는 호스트 이름을 사용하여 이 노드를 테스트할 수 있습니다., 그런 다음 패킷을 보낸 후 명령은 대상 노드에서 응답을 수신하는 데 걸리는 시간을 확인하고 측정합니다.

당신이 예상하기지도 모르기 때문에,응답 시간에 의해 영향을 받을 수 있습과 같은 조건 지리적 위치 사이의 연결 지점 또는 조각의 하드웨어 간에 사용되는 두 개의 노드입니다.

예를 들어,유선 전용 네트워크,명령을 얻을 것이 더 나은 시간을 가진 보다 네트워크로 여러 라우터 또는 다리가 있습니다.

그러나 명령이 생성 할 정보는 네트워크가 양호한 상태인지 나쁜 상태인지를 판단 할 것입니다.,

명령 구문은 다음과 같습니다:

ping 

가장 유용하며 사용되는 옵션의 ping 명령은 다음과 같습니다:

  • -c:이 옵션으로 지정할 수 있습니다 얼마나 많은 패킷을 보낼 수 있습니다.
  • -s:이 옵션을 사용하면 패킷의 기본 크기를 변경할 수 있습니다.
  • -v:자세한 모드.
  • -w:명령의 실행이 끝날 시간을 초 단위로 지정합니다. 명령이 얼마나 많은 패킷을 보내거나 받았는지에 상관없이.
  • -i:이 옵션을 사용하면 사용할 네트워크 인터페이스를 지정할 수 있습니다.,

대상 노드는 IP 주소 또는 호스트 이름으로 지정할 수 있습니다.프록시로 핑할 수 있습니까?

프록시는 네트워크의 두 지점 간의 연결을위한 중개자 역할을하는 서버 또는 응용 프로그램입니다. 그것은 다른 노드에 직접 요청을하는 중간에있는 사람입니다.문제는 Ping 명령이 노드간에 직접 네트워크 연결을 필요로한다는 것입니다.

따라서 뒤에 프록시가있는 경우 Ping 명령이 일반적으로 제대로 작동하지 않습니다.가능한 해결책은 많은 웹 사이트에서 Ping 명령 서비스를 제공한다는 것입니다., 반면에 ping 명령의 일부 작업에 대해서는 curl 명령을 사용하는 것이 가능합니다. 그것은 당신의 IP 를 숨길 수 있도록 또한,당신은 VPN 을 사용할 수 있습니다.그러나 일부 Linux 배포판에서는이 명령이 기본적으로 설치되지 않습니다. 먼저 확인한 다음 설치되지 않은 경우 설치하십시오.

Ping IPv6 프로토콜

일반적으로 Ping 명령을 사용할 때 IPv4 프로토콜과 함께 IP 주소를 사용합니다. 그러나 IPv6 프로토콜의 출현으로이 형식의 주소를 알아 차리는 것이 점점 더 보편화되고 있습니다.

Linux 커널은 버전 2 이후 IPv6 프로토콜을 지원합니다.,2,그래서 모든 리눅스 배포판은 현재 그것을 지원합니다.

기본적인 구문은 다음과 같습니다:

$ ping -6 2001:4860:4860::8888

이전 버전에 있었 ping6 명령입니다. 최신 버전의 Linux 에서는 ping6 이 더 이상 존재하지 않으며 그 기능이 ping 에 병합되어 보았던 것과 같은 방식으로 작동합니다.

기본적인 구문은 다음과 같습니다:

ping6 

와 함께 옵션 c,우리의 수를 지정할 수 있습니다 패킷을 보내고-나는 네트워크 인터페이스을 사용하는 것입니다., 예를 들어,

ping6 2001:4860:4860::8888

핑 특정 포트

때때로 우리는지 알고 싶다면 특정 포트 노드에서 활성화됩니다. 그러나 ping 명령은이 기능을 제공하지 않지만 Linux 에 기본적으로 설치된 telnet 명령으로 수행 할 수 있습니다.

이렇게하려면,단지 사용의 구문은 다음과 같습니다.

telnet 
telnet google.com 80

이 방법으로,그것은 핑 특정 포트 네트워크의 노드에 원시적인 방법입니다.,

ping with time

ping 명령이 유용한 정보를 표시하지만 조금 간단 할 수 있습니다. 그러나 패킷이 전송 된 날짜를 표시 할 수 있도록 명령의 작업을 조금 수정하는 것이 가능합니다.

이것은 정보를 눈에 즐겁게 만들 수 있으며 스크립트 및 로그에 유용 할 수 있습니다.

이 구문은 그것을하기에 충분합니다. 그러나 ccze 패키지를 설치해야합니다.

ping | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze

당신이 볼 수 있듯이,그것은 시간을 표시한 각 패킷을 전송됩니다.,

주어진 서브넷의 모든 호스트 핑

네트워크 또는 서브넷의 모든 호스트에 핑 신호를 보낼 수 있습니다. 이를 위해 옵션-b 를 추가하고 255 로 끝나는 모든 네트워크의 브로드 캐스트 IP 주소를 핑하는 것으로 충분합니다.

예를 들어,

ping -b -c 4 192.168.1.255

경우 목적지에 연결할 수 없고,어쩌면 그들은 블록 ICMP 패킷을 전송하여 ping 명령 또 어쩌면이트 문제 또는 문제에 라우팅 테이블이 있습니다.

핑을 끝내는 방법?,

기본적으로 Linux 의 ping 명령은 테스트 패킷을 호스트에 지속적으로 보냅니다. 그러나 정보를 사용할 수있게되면 ping 명령의 실행을 종료하는 것이 필요하게됩니다.

단순히 누르면 다음과 같은 키:

CTRL + C

이 방법,명령할 것이 바로 작동하지 않습니다.

특정 카운트 후 종료

패킷 수를 10 개로 제한 할 수 있습니다. 10 개의 패킷을 보내는 것이 끝나면 중지됩니다.,

ping -c 10 

어디 ping 명령 위치한 리눅스에서?

에서 유닉스 파생된 시스템과 같은 Linux,바이너리에서 흔히 발견되는 경로.

/usr/bin/

이 디렉토리에서,당신은 찾을 수 많은 바이너리는 우리가 사용하라는 명령에 터미널도 있습니다. Linux 제품군의 다른 운영 체제에서는

/usr/sbin/

디렉토리에 배치하는 것도 가능합니다.,

그래서,우리는 그것을 확인할 수 있을 사용하여 ls 명령:

$ ls /usr/bin | grep ping

이 이미지에서,당신은 당신이 볼 수있는 ping 명령어에 위치하고 있

/usr/bin/

는 또 다른 방법은, 당신이 사용할 수 있는 명령을 찾아 리눅스에서 어떤 명령:

$ which ping

이것은 다음을 보여줍니다.

/usr/bin/ping

체크인 지연 ping 명령을 사용하여

중 하나에 의해 제공되는 가능성의 ping 명령은 측정할 수 있는 연결 응답 시간입니다. 즉 대기 시간입니다.,

대기 시간을 측정 ping 명령을 사용하여,단지 그것을 사용하고 주의하여 화면출력:

ping -c 4 ping -c 4 192.168.1.1

당신이 볼 수 있듯이,네 개의 패킷을 전송되었습을 대상으로 특정 응답 시간입니다.

맨 아래에,거기에 시작하는 줄을 다음과 같다:

rtt min/avg/max/mdev

두 번째 값을 등호 지연 값입니다. 이 경우 값은 6.798 입니다.,

과 대기 시간,그것을 결정하는 것이 가능하는 호스트를 연결하는 열등합니다. 이런 식으로,우리는 관련 조치를 취할 수있을 것입니다.

찾을 수 있는 이상적인 MTU

MTU(최대 전송 단위)값을 정적으로 표현한 크기를 바이트 단위의 가장 큰 데이터 단위는 전송할 수 있는 네트워크를 통해.

현재 보안 조치로 인해 점점 더 많은 네트워크가 mtu 가 작동하지 못하게하고 있습니다. 그러나 대부분의 이더넷 근거리 통신망은 1500 바이트 MTU 를 사용합니다.,

ping 명령을 사용하여 이상적인 MTU 값을 찾으려면 초기 값을 설정하고 오류가 없을 때까지 줄입니다. 값이 너무 높은,우리는 다음에 오류가:

ping: local error: Message too long

이를 위해 다음과 같은 구문을 사용합니다.

ping -M do -s 

예를 들어:

ping -M do -s 1473 192.168.1.1

이 경우에는 값의 패키지 크기가 매우 많습니다. 그래서 나는 그것을 줄일 것이다. 이 경우 최적 값은 1472 입니다.,

경우는 다른 메시지,초기 값은 감소될 때까지 하나 당신을 원하는 결과를 얻을 수 있습니다.

경우 MTU 값을 알려진,그것을 향상 시키기 위해 사용할 수 있는 네트워크 동작은 경우에 특히 이것은 큰 또는 수도권 네트워크입니다.

레이어 2 에서 핑(arping 사용)

ping 명령을 사용하면 네트워크 내의 특정 노드의 IP 주소를 아는 테스트를 수행 할 수 있습니다. Ping 명령이 osi 모델(네트워크)의 레이어 3 에서 작동하기 때문입니다.,반면에 Linux 에 내장 된 다른 명령을 arping 으로 사용하는 것이 가능합니다. 이 명령은 ping 과 매우 유사하게 작동하지만 osi 모델의 레이어 2 에서 작동합니다.

명령 구문은 다음과 같습니다:

$ sudo arping 
$ sudo arping 192.168.1.1

는 결과를 얻을 수 this:

화면출력의 명령의 첫 번째의 크기의 전송 패킷의 MAC 주소의 노드와 응답 시간입니다.

이 명령은 기본적으로 데비안 리눅스 및 파생 상품에 설치되어 있지 않습니다., 그래서 당신은 그것을 설치해야합니다,당신은 루트로 실행할 수 있습니다.

핑 호스트 이름

기본적으로 ping 명령을 보내는 테스트 패킷 목적지 IP 주소를 사용하거나의 호스트명 대상입니다. 또한 리눅스에서의 대부분의 ping 구현은 DNS 를 역으로 해결하지 않는다는 점에 유의해야합니다.

예를 들어 IP 주소를 추가하여 Ping 명령을 사용하면 출력에서 호스트의 IP 주소 만 반환됩니다. 반대로 호스트 이름을 지정한 경우이를 해결하고 출력에 IP 를 표시합니다.,

출력을 확인하십시오 다음과 같은 명령:

$ ping google.com

핑 경로(사용 traceroute)

ping 명령을 표시하지 않는 경로 소스에서 목적지에 도달한다.왜냐하면 어느 시점에서 연결이 끊어 졌는지 이해할 수 있기 때문입니다.

tracert 또는 traceroute 명령은 ping 명령과 매우 유사한 방식으로 작동합니다. 이것의 장점은 패킷이 취하는 경로를 보여 주므로 경로를 표시한다는 것입니다.,

ping 명령이 대부분의 Linux 배포판에 설치된 것과 같습니다. 기본적인 구문은 다음과 같습니다:

traceroute 

는 방법으로,우리는 경로를 볼 수 있습는 패킷이다.

Ping 이 실패하면 명령 실행

ping 명령이 실패 할 때 경고를 받기를 원한다고 가정합니다. 이렇게하려면 bash 스크립트에 ping 명령을 통합하여 원하는 조건을 설정해야합니다.,

예를 들어,이 쉘 스크립트를 확인할 수 있습니다 ping 명령은 실패합니다.

#! /bin/bashping -c 1 If ; then #Your_command_hereFi

설정 ping packet size

의 기본 크기는 패킷을 전송하여 ping 명령을 호스트에 있는 56 바이트입니다. 네트워크의 작동에 영향을 미치지 않을만큼 충분히 낮은 값입니다.그러나 다른 값으로 변경하는 것이 가능합니다. 이렇게하려면 원하는 패킷 크기로-s 옵션을 추가하기 만하면됩니다.,

예를 들어,

ping -s hostname/IP

하려면 패킷 크기 100 개의 바이트 단지를 사용하여 다음과 같은 명령:

ping -s 100 192.168.1.1

기억하는 그것에 의해 약간 다를 수 있습니다 MTU.

ping 명령 비활성화

우리가 네트워크를 유지할 책임이 있다면 언제든지 ping 응답을 비활성화하고 싶을 수 있습니다. 우리는 우리의 필요에 따라 일시적으로 또는 영구적으로 할 수 있습니다.,

경우 우리는 비활성화하려는 그것을 일시적으로,그것은 충분히 이 명령을 사용하려면 root 사용자로:

$ su$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

이용 ping 명령에 대응하지만,다시 부팅할 때까지의 시스템입니다.

을 수행하려는 경우 그것은 영구적으로,당신은 편집하는 다음 파일

/etc/sysctl.conf

추가 다음 줄:

$ nano /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1

파일을 저장합니다., 변경 사항을 적용하려면 다음과 같은 명령을 사용합니다.

$ sysctl -p

이용 ping 명령 또는 ICMP 패킷’응답입니다.

결론

이 게시물에서는 Linux 에서 ping 명령이 어떻게 작동하는지 자세히 설명했습니다. 유틸리티에서 비활성화 할 때까지. 핑은 사용하기 가장 쉬운 명령 중 하나입니다.

이것은 사람에 대한 책임의 운영 네트워크 알고 있는 문제입니다 그래서 그는 조치를 취할 수 있습니다.

게시물이 유용하기를 바랍니다. 계속 돌아온다.

감사합니다.,

의 설립자 LikeGeeks. 저는 2010 년부터 리눅스 시스템 관리자로 일하고 있습니다. 전 세계의 여러 클라이언트에 대해 Linux 서버를 유지 관리,보안 및 문제 해결해야 할 책임이 있습니다. 내 작업을 자동화하기 위해 쉘과 파이썬 스크립트를 작성하는 것을 좋아합니다.나는 이것을 할 수 없다.