Traceroute 도구

브라우저는 원시 ICMP/UDP 프로브를 보낼 수 없습니다. 가까운 지점에서 traceroute를 실행하려면 아래 외부 서비스를 사용하세요.

결과

traceroute는 패킷이 목적지로 가는 길에 거치는 라우터들을 나열합니다. 사이트가 느릴 때 원인은 보통 특정 홉 하나에서 드러납니다. 혼잡한 피어링 링크, 잘못 라우팅된 트랜짓 경로, 패킷을 조용히 버리는 방화벽 같은 것들입니다. 브라우저는 traceroute에 필요한 원시 ICMP/UDP 프로브를 보낼 수 없기 때문에 이 페이지는 직접 추적을 실행하지 않습니다. 대신 대상 주소를 정리해 인터넷의 여러 지점에서 추적하는 신뢰할 만한 공개 서비스에 미리 채워 넘겨줍니다. 문제가 내 회선이 아닐 때 바로 이런 방식이 필요합니다. 내 연결 자체를 테스트하려면 tracert나 traceroute를 로컬에서 실행하세요. 어느 쪽이든 출력 읽는 법은 이 페이지에서 배울 수 있습니다.

유용한 traceroute를 실행하는 방법

  1. 1

    호스트 이름 또는 IP 입력

    전체 URL을 넣어도 됩니다. 링크를 만들기 전에 `https://`와 뒤의 경로를 제거합니다.

  2. 2

    프로브 서비스 열기

    모든 링크는 대상이 미리 채워진 상태로 열립니다. Check-host.net과 다중 위치 traceroute 페이지는 여러 지역에서 동시에 프로브하고, HackerTarget은 자체 관측 지점에서 고전적인 추적을 실행합니다.

  3. 3

    홉 목록 읽기

    각 줄은 라우터 하나입니다. 홉 번호, 호스트 이름/IP, 왕복 시간이며 보통 홉당 세 개 샘플입니다.

  4. 4

    문제 홉 찾기

    큰 지연 급증, `* * *`(무응답), 또는 한 네트워크 안의 긴 연쇄가 보통 문제를 가리킵니다.

  5. 5

    라우팅 수준으로 올라가기

    문제가 네트워크 사이에 있으면 BGP.tools 링크가 AS 경로와 피어링 데이터를 보여줍니다. 내 회선을 측정하려면 `tracert`나 `traceroute`를 로컬에서 실행하세요.

traceroute 작동 방식, 한 문단으로

traceroute는 인위적으로 낮은 TTL(time-to-live)을 가진 패킷을 보냅니다. 첫 패킷은 TTL=1이므로 첫 라우터가 이를 0으로 줄이고 ICMP “time exceeded” 메시지를 반환합니다. TTL=2는 두 번째 라우터를 드러내고, 이런 식으로 이어집니다. TTL이 실제 홉 수와 일치할 때쯤 패킷이 목적지에 도달합니다. 응답은 경로상 모든 라우터의 IP와 응답 시간을 알려줍니다.

출력 읽기

기호 / 패턴 보통 의미하는 것
* * * 홉이 응답하지 않음. 방화벽 또는 ICMP 속도 제한
지연의 큰 급증 그 라우터가 지리적으로 멀거나 혼잡함
5개 이상 홉에서 같은 지연 그 라우터들이 하나의 물리적 위치를 공유함
호스트 이름의 루프 MPLS 또는 비대칭 라우팅. AS 경로 확인
추적이 일찍 끝남 목적지 방화벽에 차단됨(클라우드 호스트에서 흔함)

내 컴퓨터에서 직접 실행하기

  • Windows: tracert example.com
  • macOS와 Linux: traceroute example.com
  • 연속 통계: mtr example.com (패키지 관리자로 설치)

로컬 실행은 어떤 온라인 서비스도 볼 수 없는, 내 연결에서 출발하는 경로를 측정합니다. 위의 링크들은 각 서비스의 위치에서 프로브합니다. “내 회선이 문제”인지 “사이트의 트랜짓이 문제”인지 가르려면 둘 다 사용하세요.

팁

  • 일회성 traceroute는 노이즈가 많습니다. mtr(연속 프로브)은 간헐적 문제에 훨씬 신뢰할 만한 데이터를 줍니다.
  • 적어도 두 지역에서 추적을 실행하세요. 한 곳에서만 나타나는 문제는 빠르게 위치가 좁혀집니다.
  • ICMP 기반 traceroute(-I)는 UDP가 실패하는 곳에서 성공하기도 합니다. 방화벽이 둘을 다르게 다루기 때문입니다.
  • 각 홉의 DNS 조회는 출력을 느리게 합니다. 프로브 서비스가 제공한다면 -n에 해당하는 옵션을 사용하세요.
  • 클라우드 호스트(AWS, Cloudflare)의 경우 목적지가 로드 밸런서 뒤에 숨는 경우가 많아 추적이 실제 서버보다 한두 홉 앞에서 끝납니다. 정상입니다.

자주 묻는 질문

독일에 있는 저희 서버 한 대에서의 traceroute는 로스앤젤레스 사용자의 문제에 대해 거의 아무것도 알려주지 못합니다. HackerTarget이나 Check-host.net 같은 서비스는 여러 지역에서 프로브하는데, 문제를 진단할 때 실제로 필요한 것이 바로 이것입니다. 그리고 내 컴퓨터에서 실행한 추적은 내 회선을 커버합니다.

그 라우터가 타임아웃 안에 프로브에 응답하지 않았다는 뜻입니다. 많은 라우터가 의도적으로 traceroute 트래픽을 제한하거나 버립니다. 추적이 그 틈을 지나 계속되면 경로는 괜찮은 것이고, 라우터가 그저 조용할 뿐입니다.

예. 응답은 순방향 경로와 다를 수 있는 반환 경로로 돌아옵니다. 중간의 느린 홉이 실제로는 반환 구간에서만 느린 것일 수 있습니다. MTR과 TCP 기반 traceroute가 이 모호함을 줄여줍니다.

현대 백본 네트워크는 트래픽을 크게 통합합니다. 출발지와 목적지가 모두 tier-1 네트워크에 있으면 대륙 간 8홉은 흔합니다.

호스트 이름은 검증과 외부 링크 생성을 위해 일반적인 페이지 요청과 같은 방식으로 저희 서버로 전송되며, 단계별 흐름에서는 페이지 URL에도 나타납니다. 각 외부 서비스는 해당 링크를 클릭할 때에만 호스트 이름을 보게 됩니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다