🌍 리눅스에서 Traceroute로 구글 웹서버까지의 네트워크 경로 추적하기
인터넷을 통해 웹사이트에 접속할 때, 실제로 데이터가 어떤 경로를 거쳐 전달되는지 궁금하신 적 있으신가요?
이번 글에서는 traceroute 명령어를 이용해, 우리 컴퓨터에서 구글 웹서버까지 패킷이 지나가는 네트워크 경로를 직접 추적해보겠습니다.
🧠 1. 네트워크 요청의 실제 흐름
우리가 크롬이나 엣지 브라우저를 통해 https://www.naver.com 또는 https://www.google.com 에 접속하면,
브라우저는 HTTP 요청(REQUEST) 을 전송하고, 웹서버는 이에 대한 응답(RESPONSE) 으로 HTML, JavaScript, 이미지 파일 등을 반환합니다.
겉으로 보기에는 단순히 “요청 → 응답”의 1:1 통신처럼 보이지만,
실제 네트워크 수준에서는 패킷이 수많은 라우터(Router) 를 거치며 전달됩니다.

🌐 2. 라우터와 네트워크 경로
라우터는 네트워크와 네트워크를 연결하는 장비입니다.
즉, "망과 망을 이어주는 관문" 역할을 하죠.
예를 들어보면,
-
가정집 → 지역 ISP(통신사)
-
ISP → 국가 백본망
-
국가 백본망 → 해외 게이트웨이
-
해외 게이트웨이 → 구글 데이터센터
이런 식으로 여러 네트워크 구간을 거쳐 최종 목적지까지 패킷이 전달됩니다.
이 과정은 마치 “쪽지를 옆 사람에게 계속 전달해 목표 지점까지 도착시키는” 것과 비슷합니다.
🔎 참고
인터넷은 이러한 라우터와 라우터 간의 연결로 이루어진 거미줄 형태의 구조(mesh network) 를 가지고 있습니다.
⚙️ 3. Traceroute란?
traceroute는 네트워크 패킷이 목적지에 도달하기까지 거치는 라우터의 경로(hop) 를 추적하는 도구입니다.
각 라우터를 한 단계씩 거쳐가며, 지연 시간(latency) 과 IP 주소, 도메인 정보 등을 표시합니다.
리눅스에서는 traceroute 명령을,
윈도우에서는 동일한 기능을 하는 tracert 명령을 사용할 수 있습니다.
🧩 4. 실습: 구글 서버까지의 네트워크 경로 추적
이번 실습은 리얼리눅스(LevelUp Challenge) 실습 환경에서 진행합니다.
문제 번호는 11번이며, 리눅스 시스템이 준비된 후 명령어를 실행합니다.
(1) traceroute 설치
sudo dnf install -y traceroute
설치가 완료되면 traceroute 명령을 사용할 수 있습니다.
(2) 구글 서버까지의 경로 추적
traceroute google.com
출력 예시:
traceroute to google.com (142.250.207.46), 30 hops max 1 192.168.0.1 (192.168.0.1) 1.2 ms 1.1 ms 1.0 ms 2 10.10.10.1 (10.10.10.1) 3.5 ms 3.3 ms 3.4 ms 3 203.248.xxx.xxx (KT backbone) 6.8 ms 6.9 ms 7.0 ms ... 14 lga25s77-in-f14.1e100.net (142.250.207.46) 175.5 ms 175.7 ms 175.3 ms
위 결과에서 각 줄은 하나의 라우터 홉(hop) 을 의미하며,
왼쪽에서부터 순차적으로 구글 서버까지의 경로를 나타냅니다.
(3) 숫자만 출력하는 옵션
도메인 이름을 해석하지 않고 IP 주소만 표시하려면 -n 옵션을 사용합니다.
traceroute -n google.com
이렇게 하면 DNS 역조회(reverse DNS)를 생략하여, 보다 빠르게 결과를 확인할 수 있습니다.
🕵️ 5. 추적 결과 분석
각 홉(hop)은 실제 네트워크 장비(라우터)를 의미합니다.
특정 홉에서 IP 주소가 여러 개 보이는 경우도 있는데,
이는 라우팅 경로가 여러 개 존재하거나, 부하 분산(load balancing)이 적용된 경우입니다.
추적 결과에 표시된 IP 주소 중 일부를 복사하여
https://www.iplocation.net 같은 사이트에서 검색해보면,
해당 라우터가 물리적으로 어느 지역에 위치한 장비인지 확인할 수도 있습니다.
예를 들어,
마지막 몇 개 홉이 미국 서부나 싱가포르의 구글 데이터센터로 표시된다면,
실제로 그 서버가 해외 리전(Region)에 위치해 있다는 뜻입니다.
🚧 6. Traceroute가 실패하는 경우
모든 서버가 traceroute에 응답하는 것은 아닙니다.
특히 일부 웹서버는 ICMP 패킷(Echo Request/Reply) 를 차단하기 때문에,
* * * 와 같은 응답 없음 표시가 나타날 수 있습니다.
12 * * * 13 * * *
이 경우에는 목적지 서버가 ICMP 응답을 막고 있는 것으로,
이는 보안상의 정상적인 설정입니다.
🧭 7. 추가 실습: DNS 서버 경로 추적
웹서버뿐만 아니라, DNS 서버(IP 기반)로도 경로 추적이 가능합니다.
예를 들어 구글의 공개 DNS 서버(8.8.8.8)를 대상으로 추적해보겠습니다.
traceroute 8.8.8.8
이 명령은 구글 DNS 서버까지의 네트워크 경로를 보여주며,
일반적인 HTTP 요청이 아닌, ICMP 기반 네트워크 경로를 추적합니다.
🧩 8. 정리
| 구분 | 명령어 | 설명 |
|---|---|---|
| traceroute 설치 | sudo dnf install traceroute |
traceroute 도구 설치 |
| 구글 서버 경로 추적 | traceroute google.com |
라우터 홉별 지연 시간 및 경로 표시 |
| 숫자(IP)만 표시 | traceroute -n google.com |
도메인 대신 IP만 출력 |
| DNS 서버 추적 | traceroute 8.8.8.8 |
구글 DNS 서버까지의 경로 확인 |
🚀 마무리
Traceroute는 단순한 명령어처럼 보이지만,
네트워크의 구조와 실제 트래픽 흐름을 이해하는 데 매우 강력한 도구입니다.
이번 실습을 통해
-
라우터를 통한 패킷 전달 구조
-
ICMP 기반 경로 추적
-
해외 서버까지의 실제 네트워크 경로
를 눈으로 확인할 수 있었습니다.
다음 글에서는 traceroute와 함께 자주 사용하는 ping, mtr, dig 명령어를 함께 비교하면서
네트워크 진단 도구들의 차이점을 살펴보겠습니다.
추가적으로 리눅스 네트워크를 더 공부하고싶다면 네트워크 완전 정복을 참고하세요. https://reallinux.co.kr/course/se_network