Traceroute到底是什么?
一、简介
查看报文到达目的主机的路径。traceroute的工作原理简单:
- 发送TTL从1开始的UDP报文(win发送ICMP报文)
- 为了确定下一跳路径,TTL会加1
- 当路由器丢弃UDP报文的时候,会给发送主机回复 ICMP 超时报文
- 当到达最后路径时,会给发送主机回复 ICMP 端口不可达报文(win不会回复端口不可达报文,macos回复destination unreachable)
二、流程
源主机发送IP报文,设置TTL=1;第一个路由器处理报文后:
- 将TTL-1
- 将报文丢弃
- 回复源主机ICMP超时报文,在IP报文的头部,包含了 路由器 的源地址
同流程1, 源主机发送IP报文,设置TTL=2,得到 第二个路由器的IP地址
同上面的流程,直到到达最终目的地址,到达最终的目的地址后,给发送主机回复ICMP 端口不可达报文
三、抓包
3.1 LAN OUTPUT
1、win 路径查看
tracert 到内网 10.8.50.101主机
- 最多30个跃点,表示TTL=30,防止死循环
- 目的IP:10.8.50.101
- 下一跳路由器:172.19.0.1
- RTT时间:12ms, 8ms, 9ms(发送三个报文),第一个RTT时间最长(12ms),表示无172.19.0.1的ARP缓存
2、wireshark 抓包
完整数据包如下:
第一条流
- 源IP:172.19.0.4
- 目的IP:10.8.50.101
- ping request 报文:type 8, code 0,没有收到echo reply响应,记录no response found!
- 第一跳路由器:172.19.0.1,回复给 172.19.0.4 Time to live exceeded in transit
- 后面的流以此类推,直到最后一条流
- TTL值相同,全是1
- seq值+1,从12852开始
最后一条流:
- echo request报文
- TTL:都为6,说明只需要6跳即可到达最终地址
- 可以收到 echo reply,无 no response found! 报文
- seq:12868,12869,12870
3.2 WAN OUTPUT
1、Mac OS路径查看
第一行的解释:
- 目的IP:210.34.0.25
- TTL不超过:64(防止死循环)
- 报文大小:52字节
- IP头部:20字节
- UDP头部:12字节
- 用户数据:24字节,包含下列信息
- 序列号:每次+1
- TTL:不变
- 报文发送时间
2、wireshark抓包
每一跳发送3个包,截图所示为第一跳:
- TTL值相同,从1开始
- seq+1
- 每一个包都会计算RTT时间
如果任何一个包超过5s没有收到响应,则会打印3个星号(*)
最后一跳:
- TTL=9
- 目的Host回复:destination unreachable
Traceroute到底是什么?相关推荐
- 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
新年快乐,继续来部分粘贴复制我的这一系列文章啦,如果对和程序员有关的计算机网络知识,和对计算机网络方面的编程有兴趣,欢迎去gitbook(https://rogerzhu.gitbooks.io/-t ...
- traceroute的工作原理
MyySophia5个月前 traceroute的工作原理 是利用ICMP差错控制报文中的TTL超时会回向源点发送一个时间超时报文.例如A 主机 traceroute B主机,A会封装一些分组,这些分 ...
- 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言 老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用 ...
- traceroute命令结果分析
traceroute命令结果分析 1. 基本原理 2. IP地址种类 2.1 A类IP地址 2.2 B类IP地址 2.3 C类IP地址 2.4 D类地址用于多点广播(Multicast). 2.5 E ...
- GRE和IPsec搭配使用,到底是谁over谁?先看GRE over IPsec
关于相同的二层子网跨广域网进行互通,目前我们测试了VXLAN.IPsec和GRE三种方式,分别是(VXLAN小实验:VXLAN头端复制配置).(为什么IPsec两端内网的网段能不能重复?分明可以实现! ...
- Ubuntu 22.04 一次及其繁琐的 允许 Traceroute 探测漏洞修复之旅
前言:允许 Traceroute 探测是绿盟漏洞扫描器报出来的一个漏洞,如下图: 我的系统是ubuntu 22.04,但由于是用户提供的虚拟机,会有些定制的部分,具体定制了哪部分就不知道了,直接描述问 ...
- Traceroute网络排障实用指南
目录 一.概述 1.1 什么是Traceroute 1.2Traceroute的问题所在 二.Traceroute原理 2.1Traceroute实现原理 2.2Traceroute实现细节 2.3T ...
- [转载]Tensorflow 的reduce_sum()函数的axis,keep_dim这些参数到底是什么意思?
转载链接:https://www.zhihu.com/question/51325408/answer/125426642 来源:知乎 这个问题无外乎有三个难点: 什么是sum 什么是reduce 什 ...
- 硬核科普:到底啥是云原生?
本文主要根据课程 什么是云原生?_哔哩哔哩_bilibili 总结而来,其他参考文章如下: <云原生人才计划之Kubernetes 技术图谱>发布! - 知乎 (zhihu.com) ku ...
最新文章
- Springboot实战:3种 Springboot 全局时间格式化方式
- 欧盟为无人机立法,对国产厂商是福还是祸?
- 一台机器上启动多个tomcat
- python getcwd 与dirname_python慎用os.getcwd() ,除非你知道【文件路径与当前工作路径的区别】...
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- 【Linux】一步一步学Linux——setfacl命令(117)
- 电脑高手常用的5个按钮
- 私有云为先 ZStack还在谋划一个更大的混合云世界
- net 架构师-数据库-sql server-触发器
- matlab 上穿,Matlab混入模式(Mixin)
- stats | 线性回归(二)——模型假设和模型估计
- VMware View4.5相关组件的日志存放路径
- java写入文件编码格式为ansi_java 获取文本文件编码格式
- html视频怎么转换成图片,视频怎么转成gif格式 录制视频转gif图片用什么软件|gif动画录制工具...
- java调试报告_java,生成测试报告.docx
- 2010年中国互联网十大事件
- 推荐 7 个 yyds 的开源项目
- modis遥感影像数据批量下载(不限制网速的办法)
- Python 制作按键触发Windows通知的脚本
- 算法小讲堂之哈希表|散列表|考研笔记