본문 바로가기

Ryu's Tip

ping을 통한 TTL 값에 따른 운영체제 확인 / TTL 256, 128, 64

 

TTL 값은 Time-To-Live 라는 값으로 장비를 거치면서(홉) TTL 값을 하나씩 감소시키고 TTL 값이 0이 되게 되면 패킷을 드롭하게 됩니다.

패킷이 경로를 찾지 못하고 떠돌때 영원히 패킷이 돌아다니는 것을 방지하는 필드값으로 이를 통해 장비에 대한 운영체제의 종류나 현재 자신으로부터 얼마나 떨어져있는지 어느정도는 파악할 수 있습니다.

 

 

 

위 이미지를 보시면

차례로 Linux 서버 / Windows PC / Cisco 장비로 핑을 친 것입니다.

 

보시면 각각 TTL 값이 크게 차이나는 것을 볼 수 있으며 운영체제에 따라서 TTL 시작값이 다른 것을 알 수 있습니다.

 

Linux = 64

Windows = 128

Cisco = 256

 

장비마다 ttl 값이 틀리기도 하겠지만 일반적으로는 위와 같습니다.

 

그리고 제일 위의 ping 에 대한 TTL값을 보면 47로 나오는데 이렇게 나오는 이유는...

 

 

tracert 라는 커맨드를 이용해서 이동하는 홉 지점마다 경로를 기록하여 아래와 같이 경로를 추적할 수 있습니다.

그럼 왜 47 이라는 TTL 값이 나왔는지 알아보면....

 

 

 

 

마지막 18번째 경로는 목적지 경로이므로 17개의 장비(홉)을 거쳐 간 것을 알 수 있습니다.

그래서 ping의 TTL 값이 64 - 17 = 47로 나오는 것입니다.

 

만약 목적지 장비가 Cisco 장비였다면 256 - 17 = 239 / 윈도우 운영체제를 가지고 있다면 128 - 17 = 111 이 나왔겠네요~

 

더 궁금한 점이 있다면 댓글로 남겨주세요.