traceroute命令详细使用指南
linux主机系统下命令为:traceroutehostnameWindows系统下命令为:tracerthostname
traceroute安装方法:
# yum install traceroute
命令介绍:
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
Traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具。它的原理如下:它受到目的主机的IP后,首先给目的主机发送一个TTL=1的UDP数据包( 每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签 ),而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据包给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。
Traceroute提取发送 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。
具体参数格式:
traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w waittime ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
参数选项:
-4使用IPV4,通常用于域名探测时。
-6使用IPV6,通常用于域名探测时。
-d--debug 启用套接字级调试。
-F--dont-fragment不分片数据包
-f first_ttl设置从first_ttl跃点开始(而不是从1开始)。
-g 手工指定网关地址,而不走默认缺省网关。
-I使用ICMP ECHO进行路由跟踪。
-T --tcp使用TCP SYN进行路由跟踪(默认端口为80,可使用-p按需指定)
-U --udp使用UDP进行特定目的端口的路由跟踪。(默认端口为53,可使用-p按需指定)
-i 设备 指定要使用的网络接口。
-m设置最大跳数(最大TTL为到达),默认值为30。
-N num设置每次探测同时发送的探测包数,默认为16,同时发送多个探测可以加快traceroute的速度。
-n不将IP地址解析为其域名。
-p port设置要使用的目标端口号,TCP默认为80,UDP默认为。
--sport=PORT指定要使用的源端口,默认由系统随机选择。
-w设置等待远端主机回包的时间,以秒为单位,默认为5秒。
-q设置每跳探测包的数量。默认值为3。
-r忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的源IP地址。
-z 发送等待,即探测之间的最小时间间隔(默认为0),如果值大于10,则以毫秒为单位,否则是以秒为单位。当某些路由器对ICMP消息使用速率限制时很有用。
-t设置检测数据包的TOS数值。
-v详细显示指令的执行过程。
-x 开启或关闭数据包的正确性检验。
案例验证
参考链接:https://www.kancloud.cn/chunyu/php_basic_knowledge/2106516
页:
[1]