我用 Linux前端进阶之路程序员

Traceroute原理解析

2016-05-23  本文已影响5039人  苏星河
1.什么是traceroute?

traceroute, Linux系统称为tracepath,Windows系统称为tracert,是一种计算机网络工具。它可显示数据包在IP网络经过的路由器的IP地址。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。

traceroute有不同的实现版本:常规的traceroute(基于UDP和ICMP)和tcptraceroute(基于TCP)

2.traceroute原理

常规的traceroute和tcptraceroute具有相同的工作原理:

  1. 发送一个TTL(Time-To-Live)相当小的包,TTL经过每一跳时会递减。当它减为0时,数据包就被丢弃。
  1. 当TTL失效后,看哪个路由器返回一个带有表明的ICMP “time exceeded”
  2. 如果返回的路由器就是最终的目的地,停止trace
  3. 否则,TTL加1并返回到步骤1

两者的不同点:

  • 常规的traceroute使用UDP包或ICMP “Echo”包,这两种包都可能会被防火墙拦截。

欢迎光临个人博客:http://voidman.xyz

上一篇 下一篇

猜你喜欢

热点阅读