路由追踪 学习分享

当网站出现运行不稳定、延迟大、无法连通的情况,我们可以首先检测与服务器连接的网络是否存在故障,可以使用路由追踪来探测客户端与服务器通信所经过的网络路径,即探测数据包从源地址到目的地址经过的路由器的IP地址,可以收集到源地址各个路由之间的连通情况进而判断出问题的点。

路由追踪原理

Traceroute是Linux和Mac OS等系统使用的路由追踪程序,Tracert是Windows系统使用的路由追踪程序。二者利用增加存活时间(TTL)值来实现其功能的。通过向目的地址发送一系列TTL初始值分别为1,2,3…的探测包,每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便丢弃数据包,并发送一个超时通知(ICMP Time Exceeded Message)给原数据包的发出者,这样就得到得到源地址与目的地址之间的每一跳路由信息。在Linux中,默认情况下,命令发送到目标主机的是UDP数据包并且到达目标主机会返回不可达通知(ICMP Port Unreachable);而在Windows的情况下,它发送ICMP回显请求并返回ICMP回显应答。


image.png

tracert与PING的区别

Ping最主要的就是检测目标主机是不是可连通。Ping程序实际就是发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答,主要是用来查看与目标地址的延迟和丢包情况,Ping不通一个地址并不一定表示这个IP不存在或者没有连接在网络上,因为对方主机可能做了限制,比如安装了防火墙,因此Ping不通并不表示不能使用FTP或者TELNET连接。

tracert追踪路由也是依赖ICMP回显请求和ICMP回显应答数据包,因此可以看作ping的一个扩展,它用来查看网络所经过的每一跳路由并显示路由的延迟与ip地址,可以用来发现出故障的网络路径,相对于ping更能反映源地址与目的地址之间的网络连通情况。

在线测试工具

站长工具—路由追踪
由站长之家提供的检测工具,使用简单方便,可以选择国内外的地点进行测试,只需输入域名/IP地址即可追踪。

traceroute
由ipip.net提供的路由测试工具,可以选择国内外多个地区作为测试点,结果还可以用地图显示网络路径。
Visual Trace Route Tool
免费提供跟踪您的网站并解决网络问题,只需输入网址或IP地址,即可同时从美国,欧洲和亚洲进行跟踪到您的网站。确定并隔离网络连接问题!
Trace Route

本地测试

Windows

打开命令行工具,然后输入指令:
tracert ip/domain
输入tracert获取使用手册。
完整的命令格式:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
  • 各个参数含义
    -d 指定不对计算机名解析地址。
    -h maximum_hops 指定查找目标的跳转的最大数目。
    -jcomputer-list 指定在 computer-list 中松散源路由。
    -w timeout 等待由 timeout 对每个应答指定的毫秒数。
    target_name 目标计算机的名称。
Linux/ Mac OS——traceroute
  • 安装:使用yum等包安装工具。
  • 使用

打开终端,输入指令:
traceroute ip/domain
完整的命令格式:

traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

大家自行去玩即可。
下图为访问baidu的过程:


image.png

每一跳序号都有一个IP和三个时间值,IP代表当次跳转的路由IP,三个时间值代表ping三次的延时,
当出现*即代表连接超时或路由不通(也可能是禁ping导致),
不过只要能继续下一跳也算正常,只是说是到这个路由地址的网络有丢包现象(非禁ping情况下).

  • 各个参数说明:
    -d 使用Socket层级的排错功能。
    -f 设置第一个检测数据包的存活数值TTL的大小。
    -F 设置勿离断位。
    -g 设置来源路由网关,最多可设置8个。
    -i 使用指定的网络界面送出数据包。
    -I 使用ICMP回应取代UDP资料信息。
    -m 设置检测数据包的最大存活数值TTL的大小。
    -n 直接使用IP地址而非主机名称。
    -p 设置UDP传输协议的通信端口。
    -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
    -s 设置本地主机送出数据包的IP地址。
    -t 设置检测数据包的TOS数值。
    -v 详细显示指令的执行过程。
    -w 设置等待远端主机回报的时间。
    -x 开启或关闭数据包的正确性检验。

mtr

有一个较新的工具--mtr,结合了ping和tranceroute,既能够路由跟踪,也可以实现ping。
命令方法:
mtr [参数] hostname(ip)

下图为mtr ipfs.io的截图:


image.png

第一列(Host):节点IP地址和域名。如前面所示,按n键可以切换显示。
第二列(Loss%):节点丢包率。
第三列(Snt):每秒发送数据包数。默认值是10,可以通过参数 -c 指定。
第四列(Last):最近一次的探测延迟值。
第五、六、七列(Avg、Best、Wrst):分别是探测延迟的平均值、最小值和最大值。
第八列(StDev):标准偏差。越大说明相应节点越不稳定。

  • 参数说明
    -r 或 --report:以报告模式显示输出。
    -p 或 --split:将每次追踪的结果分别列出来,而非如 --report统计整个结果。
    -s 或 --psize:指定ping数据包的大小。
    -n 或 --no-dns:不对IP地址做域名反解析。
    -a 或 --address:设置发送数据包的IP地址。用于主机有多个IP时。
    -4:只使用 IPv4 协议。
    -6:只使用 IPv6 协议。

同时,可以在 mtr 运行过程中,输入相应字母来快速切换模式,比如:
?或 h:显示帮助菜单。
d:切换显示模式。
n:切换启用或禁用 DNS 域名解析。
u:切换使用 ICMP或 UDP 数据包进行探测。

同时,也有可运行程序,下载见链接

客户端工具

目前国内比较好用的就是Best Trace,有Windows、Linux、Mac、Android、iOS客户端,主流平台都有软件支持。使用时软件从设备上发起 traceroute 请求,附带链路可视化。

参考链接

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容

  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,068评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,054评论 0 8
  • 0×1.交换机互连与路由器互连的区别a.交换机互连网络交换机工作在OSI参考模型的第二层,完成数据帧(Frame)...
    Zero___阅读 2,183评论 0 5
  • 前言 这一篇文章主要围绕了IP协议,ICMP协议和UDP协议展开,希望可以在这里大概做一个总结,将《TCP/IP协...
    Noskthing阅读 3,091评论 5 57
  • 0 01、网络管理的五大功能(包括每项功能的具体情况) 1.配置管理:ISO定义的管理功能域中,配置管理包括视图管...
    哈熝少主阅读 3,063评论 1 20