Traceroute和Tracert
Traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序。二者的功能相同,都能探测数据包从源地址到目的地址经过的路由器的IP地址。Traceroute/Tracert的实现都借助了TTL:通过向目的地址发送一系列的探测包,设置探测包的TTL初始值分别为1,2,3…,根据返回的超时通知(ICMP Time Exceeded Message)得到源地址与目的地址之间的每一跳路由信息。
二者两者输出结果一致,但在实现原理上有差别。traceroute发送的是UDP的探测包,tracert发送的是ICMP的请求。
- 从源地址发出一个UDP探测包到目的地址,并将TTL设置为1;
- 到达路由器时,将TTL减1;
- 当TTL变为0时,包被丢弃,路由器向源地址发回一个ICMP超时通知(ICMP Time Exceeded Message),内含发送IP包的源地址,IP包的所有内容及路由器的IP地址;
- 当源地址收到该ICMP包时,显示这一跳路由信息;
- 重复1~5,并每次设置TTL加1;
- 直至目标地址收到探测数据包,并返回端口不可达通知(ICMP Port Unreachable);
- 当源地址收到ICMP Port Unreachable包时停止traceroute。
注:
1. Linux和Mac OS等系统使用UDP包进行探测,目标端口号默认为33434,每次探测目标端口号加1。Traceroute故意使用了一个大于 30000 的目标端口号,以保证目标地址收到数据包后能够返回一个“端口不可达”的 ICMP 报文,于是源地址就可将端口不可达报文当作跟踪结束的标志。
2.Traceroute每跳默认发送3个探测包(发包的数量可通过-q进行设置),探测包的返回会受到网络情况的影响。如果防火墙封掉了ICMP的返回信息,那么相应的延时位置会以*显示。如果某台网关阻塞或者某台DNS出现问题,那么相应行的延时会变长。可以加-n 参数来避免DNS解析,以IP格式输出数据。
3.每个探测包都有唯一的标识号,使得Traceroute能够识别返回的包。UDP数据包使用递增的目标端口号进行标识。
Traceroute参数:
- -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 开启或关闭数据包的正确性检验。
参考连接:
https://www.cnblogs.com/machangwei-8/p/10353279.html#_label0
https://www.freebuf.com/news/topnews/63148.html
Traceroute和Tracert相关推荐
- 网络命令——traceroute、tracert(windows)
traceroute 路由追踪 语法:traceroute 参数 ip / 域名 1.检测是否安装 traceroute rpm -qa | grep traceroute 2.可以用 yum apt ...
- 路由追踪——traceroute与tracert
一.路由追踪 (一)路由跟踪,就是获取从主机A到达目标主机B这个过程中所有需要经过的路由设备的转发接口IP. (二)ICMP协议 Internet控制报文协议(internet control mes ...
- traceroute和tracert区别
二者都用于探测数据包从源到目的经过路由的IP,但两者探测的方法却有差别. 不同点: 一.应用环境不同 tracert是应用在windows下. traceroute则是应用在linux/BSD/rou ...
- traceroute和tracert的原理
traceroute的原理: 1.traceroute主机向被trace主机发送UDP的数据包,目的端口是编号较大的端口(比如33434端口) 2.首包TTL=1,Dport=33434:以后的数据包 ...
- traceroute和tracert用法详解
一.什么是Traceroute? Internet,即国际互联网,是目前世界上最大的计算机网络,更确切地说是网络的网络.它由遍布全球的几万局域网和数百万台计算机组成, ...
- Tracert与Traceroute[转]
Tracert与Traceroute traceroute是一个检查网络路径的工具,最初由Van Jacobson实现.它现在已经成为Linux.Cisco IOS以及其他很多操作系统的基本网络工具之 ...
- 路由追踪程序traceroute/tracert分析与科普
一.路由追踪程序traceroute/tracert Traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序.二者的功 ...
- 3.ICMP_抓包分析traceroute路由追踪
一.路由追踪程序traceroute/tracert Traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序.二者的功 ...
- traceroute命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/peida/archive/2013/03/07/2947326.html 通过traceroute我们可以知道信息从你 ...
最新文章
- hdu3635 Dragon Balls(带权并查集)
- js 中英文字符串长度
- 2015蓝桥杯省赛---java---A---8(移动距离)
- 万丰科技机器人排名_机器人系统集成“7宗最”
- python求线段长度_python微元法计算函数曲线长度的方法
- Pytest框架集成Allure定制测试报告详解(一)
- Unity3D播放背景音乐
- vim批量删除与插入
- LVW特征选择算法简单介绍
- 中国大数据风控企业揭秘系列之航天信息
- 思岚A1激光雷达的测试(windows)
- opencv实战——机器视觉检测和计数
- Bootstarp未读消息铃铛
- 整数序列中的众数和中位数
- 快速开发混凝土搅拌企业管理平台
- 做站的建站流程有哪些呢?
- java-php-python-桔子酒店客房管理系统计算机毕业设计
- 生字癖用计算机,那些因为太复杂没被收录的生僻字,终于被录入电脑
- 图像压缩Vs.压缩感知
- 视频号播放量破10万,这6招帮你上热门!