-
traceroute(tracepath)Linux 2022. 12. 31. 22:02
traceroute(tracepath)의 사용법을 알아본다.
원격 호스트를 향한 네트워크 경로를 볼 수 있다.
1. 사용법
traceroute [option] host [port]
tracepath [option] host [packet length]
2. 주요 옵션
2.1 traceroute
-n : 주소를 호스트명이 아니라 IP 주소로 표시한다.
-m maxttl : 패킷 최대 TTL을 maxttl로 설정한다.
-p port : UDP 패킷을 port 포트로 보낸다. 기본값은 33434이다. 원격 호스트 포트가 이용 중이면 경로를 취득할수 없으므로 이 옵션으로 송신 대상 포트를 변경한다.
-I : UDP 패킷 대신에 ICMP 패킷을 보낸다.
-src src_addr : 수치 형태의 다음 IP 주소를 발신 프로브 패킷의 소스 주소로 사용한다. 둘 이상의 IP 주소가 있는 호스트에서 -src 플래그는 프로브 패킷이 전송된 인터페이스의 IP 주소가 아닌 다른 것이 되도록 강제하는 데 사용할 수 있다.
다음 IP 주소가 시스템의 인터페이스 주소 중 하나가 아니면 오류로 리턴되고 아무것도 전송되지 않는다.
3. 실행
traceroute
라우터 기능을 하는 호스트가 자신이 받은 패킷을 다음 호스트에 넘기고 계속 연계하여 마지막 목적 호스트에 도착하는 방법을 사용한다.
ICMP PORT_UNREACHABLE 메시지가 리턴될 때가지 한번에 한 홉씩 증가되고 ICMP PORT_UNREACHABLE 메시지는 호스트가 배치되었거나 추적에 허용된 최대 홉 수에 도달했음을 나타낸다.
라우터에서 주고받은 횟수를 홉 수라고 부르는 단위로 셈한다.
패킷이 폐기될 때까지의 홉 개수를 TTL이라고 하는데 라우터끼리 주고 받을 때마다 하나씩 줄어든다.
TTL 이 0이 되면 해당 패킷은 폐기되고 ICMP Time Exceeded 에러를 송신한 호스트로 보낸다.
traeroute 명령은 각 홉 설정에서 세 개의 프로를 전송하여 다음을 기록한다.
홉 값, 게이트웨이의 주소, 각 성공적인 프로브의 각 게이트웨이에 대한 라운드 트립 시간
하나의 서버에서 모든 도메인을 관리하지 않기 때문에 여러 라우터를 거치며 목적지 ip에 도착한다.
또한 DNS는 계층적인 구조를 가지고 있다는 걸 알아두면 좋다.
DNS에 질의를 하면 com, org, net 등의 최상의 계층 (TLD, Top Level Domain)부터 하위 계층으로 찾아가게 된다.
'Linux' 카테고리의 다른 글
ss, netstat (0) 2023.01.02 dig, nslookup (2) 2023.01.01 셸스크립트 - 함수, bc, sed, awk (0) 2022.12.25 셸스크립트- for, seq, while, expr, getopts (0) 2022.12.24 셸스크립트 - $, if, case, [, test (0) 2022.12.24