linux的traceroute命令详解_雪域白狼的博客-程序员秘密_traceroute6

技术标签: Linux  linux  traceroute  

traceroute命令详解

traceroute [-46dFITUnrAV] [-f first_ttl] [-g gate,...]
        [-i device] [-m max_ttl] [-p port] [-s src_addr]
        [-q nqueries] [-N squeries] [-t tos]
        [-l flow_label] [-w waittime] [-z sendwait]
        host [packetlen]
traceroute6  [options]
tracert  [options]
tcptraceroute  [options]
说明:
       traceroute  tracks  the route packets take across an IP network on their way to a given host. It utilizes
       the IP protocol’s time to live (TTL) field and attempts to elicit an  ICMP  TIME_EXCEEDED  response  from
       each gateway along the path to the host.
       traceroute6 = traceroute -6
       tracert = traceroute -I
       tcptraceroute = traceroute -T -p 80
选项说明:
      唯一所必须的参数host是目的主机的名字或 IP 地址。在这个参数之后可以选择跟上探测包的大小[packetlen](默认是40)。 改变包的大小并使用 -F 参数 可以用于获得个别网络跳的 MTU 信息。(探测包大小的参数对于TCP探测来说无用)。
其余的选项 :
       --help 打印帮助信息,并退出。
       -4, -6 显示地指定使用IPv4或IPv6 traceroute。默认情况下,traceroute会解析给定的主机名,并自动选择合适的协议。如果解析主机名既得到了IPv4的地址,又得到了IPv6的地址,traceroute会使用IPv4。
       -I     使用ICMP ECHO进行探测。
       -T    使用TCP SYN进行探测。
       -U     使用UDP报文进行探测(默认情况)。对于无特权用户来说,只允许使用UDP报文进行探测。
       -d     允许进行socket级别的调试(当Linux kernel支持它的时候)Enable socket level debugging (when the Linux kernel supports it)
       -F     将“不要分段Don't Fragment”位置位。这将告诉中间路由器不要将该包分段(当路由器发现该探测包对于网络中MTU来说太大的时候)
       -f    
               设置第一个检测数据包的存活数值TTL的大小。默认是1 。
       -g    
               告诉traceroute为发出的packet增加IP源路由选项,以此告诉网络在路由该packet时需要通过指定的网关。不是十分有用,大多数的路由器因为安全方面的考虑将源路由设置为失效。
       -i
               指定traceroute发送包时经过的端口。默认的端口是依照路由表选定的。
       -m
               指定traceroute将要探测的最大跳数(最大的生存时间)。默认值为30。
       -N
               指定同时发送的探测包数目。同时发送几个探测包可以适当地加快traceroute的速度。默认值为15。注意:有些路由器和主机会使用ICMP速率限制,在这种情况下,指定同时发送大量的探测包会导致一些响应丢失。
       -n     显示的时候无需将IP地址和主机名相对应。直接使用IP地址而非主机名称。
       -p
               使用UDP的跟踪,基础的traceroute会使用指定的目的端口(每个探测包的目的端口号会递增)。
               使用ICMP跟踪,指定初始的icmp序列号(每个探测包递增)。
               使用TCP跟踪,指定要连接的端口号(常数)
       -t
               对于IPv4,设置服务类型(Type of Service,TOS)及优先值。有用的数值有16(低延迟)和8(高吞吐量)。注意在使用某些TOS优先值时,你必须是超级用户。
              对于IPv6,设置流量控制值。
       -w
               设置对探测包响应的等待时间(秒),默认值是5秒。
       -q
               设置每一跳的探测包数量。默认是3 。
       -r     忽略普通的路由表,直接发送到所在网络(attacked network)的远端主机上。如果该主机不是直接附在网络(directly-attached network)中,会返回一个错误。该选项可用于ping一个本地主机,而该主机所经过的端口没有路由。
-s
       设置本地主机发出数据包的地址。注意你必须选择某一端口的地址,这个地址就是发出数据包的端口所使用的。
-z
       探测包之间最小的时间间隔(默认值为0)。如果该值大于10,则它指定的为毫秒,否则,它指定的为秒(允许使用浮点数)。当某些路由器对ICMP报文实行速率限制时有用。
-A     在路由注册中查找AS path,并将结果直接打印在相应的地址后面
-V     打印出版本并退出。
       This program attempts to trace the route an IP packet would follow to some internet host by  launching  a
       probe  packets  with  a  small ttl (time to live) then listening for an ICMP "time exceeded" reply from a
       gateway.  We start our probes with a ttl of one and increase by one until we get an ICMP  "port  unreach-
       able"  (or  TCP reset), which means we got to "host", or hit a max (which defaults to 30 hops). Three (by
       default) probes are sent at each ttl setting and a line is printed showing the ttl, address of the  gate-
       way and round trip time of each probe.  If the probe answers come from different gateways, the address of
       each responding system will be printed.  If there is no response within a 5.0 (default) seconds, a "*" is
       printed for that probe.
       We  don’t want the destination host to process the UDP probe packets so the destination port is set to an
       unlikely value (you can change it with the -p flag). There is no such problem for ICMP or TCP  tracerout-
       ing (for TCP we close sessions immediately after connect).
       After  the  time  some  additional  annotation  can  be printed: !H, !N, or !P (host, network or protocol
       unreachable), !S (source route failed), !F (fragmentation  needed),  !X  (communication  administratively
       prohibited),  !V  (host precedence violation), !C (precedence cutoff in effect), or ! (ICMP unreach-
       able code ).  If almost all the probes result in some kind of unreachable, traceroute will  give  up
       and exit.
SEE ALSO
       ping(8), ping6(8), tracepath(8), netstat(8).
Fedora Project                  11 October 2006                  TRACEROUTE(8)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39849189/article/details/80362726

智能推荐

I2C_EEPROM 写入多字节 小数_1947873692的博客-程序员秘密

一、写多字节void I2C_WriteMultibyte(uint8_t Addr,uint8_t *pBuffer,uint8_t num); void I2C_WriteMultibyte(uint8_t Addr,uint8_t *pBuffer,uint8_t num) //写入多个字节{ u8 i,temp; temp=num/8; //判断循环次数 for(...

Android中TextView中添加的文本上下两行又重叠_shudaiziyang的博客-程序员秘密

如图显示的情况  代码如下:  我在网上查了查,网上只有显示EditText出现类似情况的,添加android:layerType=”software”这句话,但必须得使用 API level 11 或者更高,我改成了 API level 12,但仍然还是同样的情况,所以该方法不起作用。然后我以为是高度不够,当将高度改变,留有大块的空间,但仍然没有改变。改变行间距为1dp甚至去掉行间距

Android框架累计_巴黎会飞的猪的博客-程序员秘密

记一下所接触到的框架 方便以后用:1.LombokLombok使用注解的方式为你生成许多代码。我们将使用它老生成getter/setter、toString()、equals()、hashCode()。它借助于Gradle依赖和一个Android Studio插件。2.Butter KnifeButter Knife使用注解的方式来帮助我们免去写findViewById()和设置点击监听的痛苦。至于

IAR 环境安装【TI CC2540开发版 New SmartRF】_sky_inter的博客-程序员秘密

2015/10/29 11:28本环境的安装主要注意以下几点:1.参照文档:D:\09_蓝牙\CC254xEK-Release\待整理开发资料\IAR 8051 V8.10安装和使用教程.pdf.2.安装文件采用   D:\09_蓝牙\CC254xEK-Release\0开始:入手开发套件\0、软件工具\1、编译器:IAR\IAR 8.10.3\IAR-EW8051-8.1.3\I

关于Keil5下载后崩溃的问题_genhe的博客-程序员秘密

一直以为是操作系统不兼容,调试的时候有一个程序可以反复debug 退出。出问题的原因是路径名太长把工程名字改短一些就好了

ubuntu下安装bochs_lilongherolilong的博客-程序员秘密

ubuntu下安装bochs安装gcc编译环境sudo apt-get install build-essentialsudo apt-get install xorg-devsudo apt-get install libgtk2.0-dev下载bochs最新版本http://bochs.sourceforge.net/安装命令$tar

随便推点

面试知识点总结(Part 2:数据库、网络、操作系统、Nginx)_emmmzhang的博客-程序员秘密

本文涉及:数据库:范式、索引、MySQL主备网络:TCP/IP(三次握手、滑动窗口)、流量控制和拥塞控制、网络层次结构、http状态码、局域网通信原理、http和https、http1.0和http1.1、浏览器访问页面的整个过程操作系统:线程和进程、进程通信、进程状态转化、银行家算法、死锁,Linux命令(cd、ls、top、ps、netstat -anp、lsof -i、grep、ca...

免费的.net学习视频教程下载地址_chuozi0602的博客-程序员秘密

分享免费.net学习资料,.net平台开发,全部免费!!! 专题:C#中的单元测试-Nunit http://edu.ibeifeng.com/view-index-id-348.html 专题:水晶报表使用入门及实战http://edu.ibeifeng.com/view-index-i...

框架:模块化Objection_小毛毛笑哈哈的博客-程序员秘密

框架:模块化http://blog.jobbole.com/66929/实现原理:先定义一个协议(protocol),然后通过objection来注册这个协议对应的class,需要的时候,可以获取该协议对应的object。对于使用方无需关心到底使用的是哪个Class,反正该有的方法、属性都有了(在协议中指定)。这样就去除了对某个特定Class的依赖。也就是通常所说的「面向接口编程」,因为我们无...

Ubuntu环境安装mosquitto_tianfs的博客-程序员秘密_ubuntu安装mosquitto

在Ubuntu环境下用apt-get 安装mosquitto是0.15版本的,显然和现在的最新版1.4.10相差太大。下载原文件make install经过无数次缺少赖后放弃了。后来从网上找到如下方法:sudo add-apt-repository ppa:mosquitto-dev/mosquitto-ppasudo apt-get update以上两条可以在库中增加mos

kubeadm快速部署kubernetes集群(1.19.0版本)_long_2145的博客-程序员秘密

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。官方文档:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/1.安装要求在开始之前,部署Kuber

Shiro入门_程 序 猿的博客-程序员秘密

shiro入门Shiro简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解API,你可以快速、轻松地获取任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序1. 什么是shiroshiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。spring中有spring securi...

推荐文章

热门文章

相关标签