用来检测发出数据包的主机到目标主机之间所经过的网关数量时,Windows系统下网络工程技术人员或者系统管理员会使用tracert命令,而linux系统下与tracert相同的是traceroute命令。
traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
1、原理:程序利用增加存活时间(TTL)来实现其功能。每当数据包(3个数据包包括源地址,目的地址和包发出的时间标签)经过一个路由器,其存活时间就会减
1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP(控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。)TTL数据包给原数据包的发出者。
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
具体参数格式:traceroute[-dFlnrvx][-f][-g…][-i][-m][-p][-s][-t][-w][主机名称或IP地址][数据包大小]