반응형

ping은 되는데 traceroute가 안되는 이유는 둘이 사용하는 프로토콜과 방식이 다르기 때문

 

 

1. 중간 라우터의 ICMP/UDP 차단

Traceroute는 중간 라우터에서 TTL이 0이 될 때 "Time Exceeded" 메시지(ICMP)를 보내줘야 함.
일부 방화벽이나 라우터 설정에서 ICMP Time Exceeded 메시지 또는 UDP 포트를 차단하는 경우가 많습니다.
반면, Ping의 ICMP Echo Reply는 열려 있는 경우가 있어서 ping은 성공.

2. 관리자 정책에 의한 차단

많은 기업, 기관, 또는 클라우드 서버에서는 네트워크 보안 정책상 트레이서트(특히 UDP) 요청을 차단하는 경우가 있습니다.
특히 외부에서 라우터 정보가 노출되지 않도록 막아두는 경우.

3. NAT(Network Address Translation) 환경

NAT나 방화벽이 ICMP 패킷은 허용하되, 특정 포트에서 오는 UDP 패킷(Traceroute에서 사용)을 막을 수 있습니다.

 

 

 

결론

ping은 되는데 traceroute가 안되는 이유는 둘이 사용하는 프로토콜과 방식이 다르기 때문.

Ping은 단순히 ICMP Echo Request로 목적지까지 연결만 확인하는 반면, Traceroute는 여러 라우터에서 TTL 초과 메시지를 받아야 하기 때문에 중간 라우터나 방화벽 설정에 따라 쉽게 차단될 수 있습니다.

 

해결방안

Traceroute 옵션 변경 (ICMP 기반 트레이서트 시도)
예: traceroute -I (Linux에서 ICMP로 사용)

 

 

 

 

 

번외,

tracert와 traceroute 차이

 

네트워크 장비(스위치,라우터 등)는 리눅스계열이라 traceroute 사용,,

 

 

 

 

 

 

traceroute 작동원리

Traceroute의 작동 원리는 네트워크 경로를 TTL(Time To Live) 값을 활용해 **패킷이 목적지까지 가는 경로 상의 모든 라우터(홉)**를 하나하나 확인하는 방식입니다.

 

TTL(Time To Live): 패킷이 네트워크를 지날 때 라우터마다 TTL 값이 1씩 감소.
TTL 값이 0이 되면, 해당 라우터는 패킷을 버리고 ICMP "Time Exceeded" 메시지를 보냄.

 


Traceroute의 단계별 동작

 

 

 

 

 

 

참고 : 챗gpt

 

반응형

+ Recent posts