所以运营商为安全考虑,对于UDP端口常常采用白名单ACL,就是只有ACL允许的端口才可以通过,没有明确允许的则统统丢弃。比如允许DNS/DHCP/SNMP等。...总结一下,traceroute主要利用IP数据包的TTL字段值 + ICMP来实现,它发送的用于探测网络路径的数据包的IP之上的协议可以是 UDP、TCP或ICMP。...不同模式下,探测过程中设计的数据包如下: UDP模式:UDP探测数据包(目标端口大于30000) + 中间网关发回 ICMP TTL 超时数据包 + 目标主机发回ICMP Destination Unreachable...数据包 TCP模式:TCP [SYN]探测数据包(目标端口为Web服务的80) + 中间网关发回 ICMP TTL 超时数据包 + 目标主机发回TCP [SYN ACK] 数据包 ICMP模式:ICMP...Echo (ping) Request 探测数据包 + 中间网关发回ICMP TTL超时数据包 + 目标主机发回ICMP Echo (ping) reply 数据包 traceroute出现*的分析
文章目录 PING Traceroute Traceroute 的工作原理 举个“栗子” PING ICMP 的一个重要应用就是分组网间探测 PING(Packet InterNet Groper),用来测试两台主机之间的连通性...Traceroute ICMP 的另一个非常有用的应用是 traceroute(这是 UNIX 操作系统中名字),它用来跟踪一个分组从源点到终点的路径。...Traceroute 的工作原理 Traceroute 从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的 UDP 用户数据报。第一个数据报 P1 的生存时间 TTL 设置为1。
traceroute命令 traceroute命令尝试跟踪IP数据包到某个Internet主机的路由,方法是使用一个小ttl(生存时间)启动探测数据包,然后侦听来自网关的ICMP超时回复,它以ttl为1...通常允许指定多个网关(以逗号分隔的列表)。...-z sendwait, --sendwait=sendwait: 探测之间的最小时间间隔,默认值为0,如果该值大于10,则以毫秒为单位指定一个数字,否则为秒数,也允许使用浮点值,当某些路由器对ICMP....: 将特定于模块的选项OPTS用于traceroute模块,允许几个OPTS,以逗号分隔,例如如果OPTS是help,则打印帮助信息。...traceroute -n www.google.com 设置每个跃点的探测数,默认为3。
Linux 命令 traceroute 命令解析 traceroute 命令作用是在网络中跟踪数据包从源端到目的端所经过的路径。...traceroute 的一般形式如下: traceroute [-FIldnrvx] [-f ] [-m ] [-p ] [-q ] [-s ] [...Linux 命令 traceroute 命令注意事项 读者需要注意有些目标主机会过滤掉 ICMP 报文,这时候可以尝试使用 UDP 或 TCP 协议。...traceroute 命令对于发现网络问题、确定许多网络故障的原因以及网络故障排除都非常有用。...traceroute 命令会向目标主机发送大量的数据包,因此在网络环境不稳定的情况下使用该命令需要注意数据安全问题。
1 traceroute 功能说明:显示数据包到主机间的路径。它默认发送的数据包大小是40字节。 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。...,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器…… traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器...所以traceroute 在Server端也是没有所谓的Daemon 程式。 Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。...每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。...一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。 我们traceroute一台主机时,会看到有一些行是以星号*表示的。
traceroute, 也就是 trace route,跟踪路由。这个程序最早是Van Jacobson实现的。源代码在网上能够找到,只是我还没有去找。...因此traceroute程序发送一个UDP包来试探。对路由器来说,UDP数据报仅仅是IP数据报的一种,它并不关心 UDP数据报的详细内容。...有几个细节: 1.局域网的路由是相对稳定的,因此用traceroute打印出来的响应时间相差不大。...3.traceroute的是以收到”port不可达”为标志来结束的。前提是发出的UDP数据报中要求 的port在目的主机上没有进程在使用。...而假设目的主机上正好有进程在使用这个port,接收这个包并按正常方式处理,这样traceroute就收不到”port不 可达”的错误了。
linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。...traceroute 命令安装下(root权限在线安装) 1.命令格式: traceroute[参数][主机] 2.命令功能: traceroute指令让你追踪网络数据包的路由途径,...探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 www.58.com ,表示向每个网关发送4个数据包。...实例4:探测包使用的基本UDP端口设置6888 命令: traceroute -p 6888 www.baidu.com 输出: 实例5:把探测包的个数设置为值4 命令: traceroute -...实例7:把对外发探测包的等待响应时间设置为3秒 命令: traceroute -w 3 www.baidu.com 输出: Traceroute的工作原理: Traceroute最简单的基本用法是:traceroute
-T 使用TCP SYN进行探测。 -U 使用UDP报文进行探测(默认情况)。对于无特权用户来说,只允许使用UDP报文进行探测。...-m 指定traceroute将要探测的最大跳数(最大的生存时间)。默认值为30。 -N 指定同时发送的探测包数目。...同时发送几个探测包可以适当地加快traceroute的速度。默认值为15。注意:有些路由器和主机会使用ICMP速率限制,在这种情况下,指定同时发送大量的探测包会导致一些响应丢失。...-p 使用UDP的跟踪,基础的traceroute会使用指定的目的端口(每个探测包的目的端口号会递增)。...-z 探测包之间最小的时间间隔(默认值为0)。如果该值大于10,则它指定的为毫秒,否则,它指定的为秒(允许使用浮点数)。当某些路由器对ICMP报文实行速率限制时有用。
tracert 默认使用 ICMP 包探测,traceroute 使用 UDP 包,也可以使用 ICMP 和 TCP 包探测,分别带上参数 -I 和 -T 即可。...IP,允许探测的最大跳数,以及发送的数据包字节数,后面每一行表示每一跳的信息,包括 IP 信息,3 个时延值(因为每一跳默认会发 3 次探测包)。...\:ICMP 不可达代码(ICMP unreachable code \) ⑤ 设置探测包的个数:-q traceroute-q4www.baidu.com [root@localhost ~]# traceroute...⑥ 设置探测包的等待响应时间:-w traceroute-w3www.baidu.com [root@localhost ~]# traceroute -w 3 www.baidu.com traceroute...⑧ 探测路径 MTU traceroute--mtu www.baidu.com root@pclcache:~# traceroute --mtu www.baidu.com traceroute
MyySophia5个月前 traceroute的工作原理 是利用ICMP差错控制报文中的TTL超时会回向源点发送一个时间超时报文。...–update 2022年3月4日17:13:19 Traceroute,是个“大骗子”。它会使用 ICMP 的规则,故意制造一些能够产生错误的场景。...所以,Traceroute 的第一个作用就是故意设置特殊的 TTL,来追踪去往目的地时沿途经过的路由器。Traceroute 的参数指向某个目的 IP 地址,它会发送一个 UDP 的数据包。...这样,Traceroute 就拿到了所有的路由器 IP。当然,有的路由器压根不会回这个 ICMP。这也是 Traceroute 一个公网的地址,看不到中间路由的原因。...Traceroute 程序会发送一份 UDP 数据报给目的主机,但它会选择一个不可能的值作为 UDP 端口号(大于 30000)。
traceroute ……….\traceroute-1.4a12 ……….\……………..\aclocal.m4 ……….\……………..\CHANGES ……….\…………….....\traceroute.8 ……….\……………..\traceroute.c ……….\……………..\traceroute.h ……….\……………..\usleep.c ……….\……………..
一、Traceroute traceroute 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。...目标主机收到traceroute 的UDP探测包回复ICMP(type=3,code = 3,端口不可达)。Linux上称之为 traceroute,Windos类似的功能为tracert。...10.228.90.70) 0.292 ms 0.266 ms 0.261 ms 流程分析: 1.连续发送 UDP 包,从seq69到到seq83连续15个报文,每三个包TTL增加1,总共发送五跳网元的探测报文...3.针对前面发送的15个探测包,全部收到ICMP的响应包,TTL超期。...虽然都是路由跟踪,但是两者探测方法及探测的数据类型不同。
ping和traceroute用到它。...3.TTL的主要目的是防止包在有回路的网络上死转,因为包的TTL最终后变成0而使得此包从网上消失(此时往往路由器会送一个ICMP包回来,traceroute就是根据这个做的) ?
Traceroute 的实现一共有三种方法,分别是: TCP traceroute(使用 tracetcp 程序可以实现) UDP traceroute(Cisco 和 Linux 默认情况下使用) ICMP...探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用traceroute -q 4 rumenz.com,表示向每个网关发送4个数据包。...* * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * 203.195.152.245 21.635 ms 22.201 ms 把探测包的个数设置为值...traceroute: wrote rumenz.com 52 chars, ret=-1 探测包的等待响应时间设置为3秒 > traceroute -w 3 rumenz.com traceroute...TCP traceroute 同样利用了 TTL 来探测网络路径但是它向外发送的是 TCP SYN 数据包,这样做最大的好处就是穿透防火墙的几率更大因为 TCP SYN 看起来是试图建立一个正常的 TCP
traceroute 命令 Linux中traceroute 命令用于显示数据包到目的主机的路径 Windows中路由追踪命令是tracert。...语法: traceroute 【参数】 【主机】 举个简单例子:traceroute -d www.baidu.com 参数说明: -d 使用Socket层级的排错功能。...探测 数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 XXX表示向每个网关发送4个数据包。...**实例二:**跳数设置(TTL) traceroute -m 8 www.baidu.com 实例三:设置探测数据包数量 traceroute -q 4 -m 8 www.baidu.com...这涉及到Traceroute的工作原理: Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)。
定义: Traceroute程序时一个能更深入探索TCP/IP协议的方便可用的工具。 功能: Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。...Traceroute程序还可以让我们使用IP源路由选项。...存在意义: 不是所有路由器都支持记录路由选项 记录路由一般是单向的选项,记录地址翻了一番(一来一回) IP首部中留给选项的空间有限,不能存放当前大多数的路径 操作: Traceroute程序使用ICMP...为区分目的主机和路径中路由器的地址,Traceroute程序发送一份UDP数据报给目的主机,但选择一个不可能的值作为UDP端口(大于30000),使目的主机的任何一个应用程序都不可能使用该端口。...Traceroute程序注意事项 不能保证现在的路由也是将来所要采用的路由,甚至两份连续的IP数据报都可能采用不同路由 不能保证ICMP报文的路由与traceroute程序发送的UDP数据报采用统一路由
第8章 Traceroute程序 8.1 引言 由Van Jacobson编写的Tr a c e r o u t e程序是一个能更深入探索 T C P / I P协议的方便可用的工具。...8.2 Traceroute程序的操作 在7 . 3节中,我们描述了 I P记录路由选项( R R)。为什么不使用这个选项而另外开发一个新的应用程序?有三个方面的原因。...新的路由器需求文档RFC [Almquist 1993]为此指定它为可选择功能,允许把T T L看成一个跳站计数器。 T T L字段的目的是防止数据报在选路时无休止地在网络中流动。
问题现象: Linux下可以ping通IP,但是traceroute不通 ?...所以运营商为安全考虑,对于 UDP 端口常常采用白名单 ACL,就是只有 ACL 允许的端口才可以通过,没有明确允许的则统统丢弃。...比如允许 DNS/DHCP/SNMP 等 注意: Linux下traceroute程序默认发送的探测包为UDP协议,windows下tracert、mtr,以及Linux下mtr默认都发送的是icmp...mtr 默认发送的是是 icmp 协议 request 包,测试网络时更有参考价值 Linux 下 traceroute、mtr 都支持指定协议端口进行网络探测,建议使用 icmp 或 tcp...协议进行网络探测 traceroute 常用参数: -I --icmp //指定ICMP协议 -T --tcp //指定TCP协议 -p port --port=port
linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。...-y install traceroute 命令安装下(root权限在线安装) 1.命令格式: traceroute[参数][主机] 2.命令功能: traceroute指令让你追踪网络数据包的路由途径...探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 www.58.com ,表示向每个网关发送4个数据包。...实例4:探测包使用的基本UDP端口设置6888 命令: traceroute -p 6888 www.baidu.com 输出: 实例5:把探测包的个数设置为值4 命令: traceroute -q 4...实例7:把对外发探测包的等待响应时间设置为3秒 命令: traceroute -w 3 www.baidu.com 输出: Traceroute的工作原理: Traceroute最简单的基本用法是:traceroute
领取专属 10元无门槛券
手把手带您无忧上云