Skip to content

Traceroute

IP 패킷이 네트워크 호스트로 가는 경로를 인쇄합니다.

traceroute 혹은 tracert는 인터넷을 통해 거친 경로를 표시하고 그 구간의 정보를 기록하고 인터넷 프로토콜 네트워크를 통해 패킷의 전송 지연을 측정하기 위한 컴퓨터 네트워크 진단 유틸리티이다.

About

traceroute 명령은 작은 최대 활동 시간(Max_ttl 변수)으로 UDP 프로브 패킷을 시작한 후 경로를 따라서 게이트웨이의 ICMP TIME_EXCEEDED 응답을 청취하여 IP 패킷이 인터넷 호스트로 가는 경로를 추적하려고 합니다. 프로브는 한 홉의 Max_ttl 값으로 시작되는데, ICMP PORT_UNREACHABLE 메시지가 리턴될 때까지 한 번에 한 홉씩 늘어납니다. ICMP PORT_UNREACHABLE 메시지는 호스트를 찾았거나 명령이 추적에 허용되는 최대 홉 수에 도달했음을 나타냅니다.

traceroute 명령은 각 Max_ttl 설정에서 세 개의 프로브를 전송하여 다음을 기록합니다.

  • Max_ttl 값
  • 게이트웨이 주소
  • 각 성공한 프로브의 라운드트립 시간

전송되는 프로브 수는 -q 플래그를 사용하여 늘릴 수 있습니다. 프로브 응답이 다른 게이트웨이에서 오는 경우 명령은 각 응답하는 시스템의 주소를 인쇄합니다. 3초 시간종료 간격 안에 프로브로부터의 응답이 없는 경우 해당 프로브에 대해 *(별표)가 인쇄됩니다.

traceroute 명령은 Max_ttl 값이 한 홉 이하인 경우 라운트트립 시간 뒤에 !(느낌표)를 인쇄합니다. 한 홉 이하의 최대 활동 시간 값은 일반적으로 ICMP 응답이 다른 네트워크 소프트웨어에 의해 처리되는 방식에서의 비호환성을 나타냅니다. 비호환성은 대개 사용된 마지막 Max_ttl 값을 두 배로 하고 다시 시도하여 해결될 수 있습니다.

라운드트립 어노테이션 뒤의 다른 가능한 어노테이션은 다음과 같습니다.

  • !H: 호스트 도달 불가능
  • !N: 네트워크 도달 불가능
  • !P: 프로토콜 도달 불가능
  • !S: 소스 경로 실패
  • !F: 프래그먼트화 필요

대다수의 프로브의 결과가 오류인 경우 traceroute 명령이 종료합니다.

traceroute 명령에 대한 유일하게 필수인 매개변수는 대상 호스트 이름 또는 IP 번호입니다. traceroute 명령은 송신 인터페이스의 최대 전송 단위(MTU)를 기반으로 프로브 패킷의 길이를 판별합니다. UDP 프로브 패킷은 예상 밖의 값으로 설정되므로 대상 호스트에 의한 처리를 방지합니다.

Installation

apt-get install traceroute

Example

$ traceroute naver.com
traceroute: Warning: naver.com has multiple addresses; using 125.209.222.141
traceroute to naver.com (125.209.222.141), 64 hops max, 52 byte packets
 1  192.168.0.1 (192.168.0.1)  2.123 ms  0.927 ms  0.878 ms
 2  118.222.146.190 (118.222.146.190)  3.657 ms  3.851 ms  4.411 ms
 3  100.70.196.21 (100.70.196.21)  7.276 ms  6.317 ms  8.115 ms
 4  100.69.168.29 (100.69.168.29)  2.742 ms  2.411 ms  1.444 ms
 5  10.62.255.26 (10.62.255.26)  1.683 ms  1.704 ms  1.738 ms
 6  10.222.7.170 (10.222.7.170)  9.962 ms
    10.222.7.182 (10.222.7.182)  9.461 ms  4.392 ms
 7  1.255.36.33 (1.255.36.33)  2.310 ms  1.739 ms
    175.126.127.246 (175.126.127.246)  2.058 ms
 8  211.176.57.26 (211.176.57.26)  3.549 ms
    211.176.57.30 (211.176.57.30)  5.749 ms  2.838 ms
 9  10.22.68.122 (10.22.68.122)  3.699 ms
    10.22.69.98 (10.22.69.98)  4.154 ms
    10.22.69.62 (10.22.69.62)  4.821 ms
10  10.118.2.142 (10.118.2.142)  3.986 ms
    10.118.2.26 (10.118.2.26)  4.463 ms
    10.118.2.134 (10.118.2.134)  4.012 ms
11  * * *
12  * * *

Windows tracert 사용방법

이 진단 도구는 TTL(TTL) 필드 값이 증분적으로 증가하는 대상에 ICMP(Internet Control Message Protocol) 에코 요청 또는 ICMPv6 메시지를 전송하여 대상으로 이동되는 경로를 결정합니다. 경로 따라 각 라우터에 필요 IP 패킷에 TTL을 감소 시키기 위해 적어도 1 전달 하기 전에 합니다. 실질적으로 TTL은 최대의 연결 카운터입니다. 패킷의 TTL이 0에 도달하면 라우터는 원본 컴퓨터에 ICMP 시간 초과 메시지를 반환해야 합니다.

이 명령은 TTL이 1인 첫 번째 에코 요청 메시지를 보내고 대상이 응답하거나 최대 홉 수에 도달할 때까지 후속 전송마다 TTL을 1씩 증가시켜 경로를 결정합니다. 최대 홉 수는 기본적으로 30 및 사용 하 여 지정할 수는 /h 매개 변수입니다.

경로는 중간 라우터에서 반환된 ICMP 시간 초과 메시지와 대상에서 반환된 에코 회신 메시지를 검사하여 결정됩니다. 그러나 일부 라우터는 만료된 TTL 값이 있는 패킷에 대해 초과된 메시지를 반환하지 않으며 tracert 명령에 표시되지 않습니다. 이 경우 해당 홉에 대한 별표(*)의 행이 표시됩니다. 표시 된 경로 원본 호스트와 대상 간의 경로에 있는 라우터/쪽 근처 라우터 인터페이스의 목록입니다. 근처/쪽 인터페이스는 경로 있는 송신 호스트에 가장 가까운 라우터 인터페이스입니다.

Tracert 명령을 사용하여 경로를 추적하려면 명령 프롬프트를 연 다음 아래와 같이 입력합니다.

$ tracert HostName

tracert 명령이 경로에 있는 모든 라우터의 이름을 확인하고 표시하지 않으려면 -d 매개 변수를 사용합니다. 이 매개 변수를 사용하면 경로가 신속하게 표시됩니다.

참고

명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, 보조프로그램을 차례로 가리킨 다음 명령 프롬프트를 클릭합니다.

tracert 명령은 ping 명령과 유사한 ICMP(Internet Control Message Protocol) 에코 요청 및 에코 응답 메시지를 보내어 각 홉의 RTT(왕복 이동 시간) 및 거쳐가는 각 라우터에 대한 명령줄 보고서를 출력함으로써 경로를 추적합니다. 라우터, 방화벽 또는 다른 보안 게이트웨이에 대한 패킷 필터링 정책으로 인해 이러한 트래픽이 전달되지 못할 수도 있습니다.

tracert가 실패할 경우 명령 출력을 사용하여 전달에 실패하거나 전달 속도가 느려진 중간 라우터를 식별할 수 있습니다.

경로에서 각 라우터와 링크의 패킷 전달 및 손실에 대한 자세한 내용을 보려면 pathping 명령을 사용하십시오.

Example

$ traceroute -w 3 -q 1 -m 16 example.com

서로 다른 대역의 IP끼리 통신하도록 설정하는 방법

Internet Protocol#서로 다른 대역의 IP끼리 통신하도록 설정하는 방법 항목 참조.

traceroute vs inetutils-traceroute

결론만 말해서 나는 그냥 sudo apt install traceroute 했다.

Trouebleshooting

쩜만 계속 뜨는 현상

$ traceroute 192.168.0.250
traceroute to 192.168.0.250 (192.168.0.250), 30 hops max, 60 byte packets

 1  * * *
 2  * * *
 3  * * *
...
29  * * *
30  * * *

name reverse resolve 문제인가?? <- 정확한 원인은 모르겠다.

근데 결국 좀 기다렸다 다시 해보니 잘 되더라

See also

Favorite site