在请求网络资源获取缓慢或者有丢包过程中。经常会使用到网络路径探测工具。linux 下最常用的有mtr、traceroute、tracepath 等。

你是否有一点疑惑,路径探测的原理到底是如何完成的,普通的ping探测和TCP、UDP 等数据包在同一个源--->目的地址之间交互链路状态为何有时会有不同现象。

原理浅析:

首先我们知道,实现数据在网络中的交互,都基于最基础的网络地址:源--->目的地址。这个地址为IP地址。为了避免无效的数据包垃圾在网络中永久存在。有8位的TTL值。

在互联网中传输过程中,IP数据包每经过一个路由器该值减一,直到为0 时将该包丢弃。

路由探测原理就是从发送TTL 值为1开始的数据包开始,每次增加1,直到该数据包能抵达目的IP地址。

未能抵达最终目的地址的数据包,当路由器将值减为0 时,会给源地址返回一个数据包告知源地址:因经过路由的数据过多,导致TTL耗尽。数据包无法到达最终目的地。工具根据中间路由节点这个数据包返回的时间戳和发出数据包时的时间戳相减,计算出中间经过的每个路由节点的耗时。并获取中间路由节点的IP地址。

下面分别看下常用链路测试工具,默认发送数据包的区别。

mtr

mtr 默认使用ICMP协议发送探测数据包。

若使用TCP或者UDP 发送数据包。需另外指定指定可选项

-u

--udp
Use UDP datagrams instead of ICMP ECHO.

-T

--tcp
Use TCP SYN packets instead of ICMP ECHO. PACKETSIZE is ignored, since SYN packets can not contain data.

-P PORT

--port PORT
The target port number for TCP traces.

下图示例默认探测包:

mtr  -T -P22 <IP地址>示例:

traceroute

当我们使用traceroute 不加任何参数测试路径时,默认四层使用UDP协议发送探测数据包

如果使用TCP或者ICMP协议数据包探测路径需加选项

-I --icmp Use ICMP ECHO for tracerouting
-T --tcp Use TCP SYN for tracerouting (default port is 80)

 -p port  --port=port  Set the destination port to use. It is either initial udp port value for "default" method (incremented by each probe, default is 33434), or initial seq for "icmp" (incremented as well, default from 1), or some constant destination port for other methods (with default of 80 for "tcp", 53 for "udp", etc.)

traceroute -使用ICMP协议探测路径 -p 指定起始seq

tracepath

只支持UDP协议数据包探测路径

besttrace

网络路径排查工具使用/原理浅析(MTR、traceroute、tracepath、windows下besttrace)的更多相关文章

  1. 20155217《网络对抗》Exp02 后门原理与实践

    20155217<网络对抗>Exp02 后门原理与实践 实验要求 使用netcat获取主机操作Shell,cron启动. 使用socat获取主机操作Shell,任务计划启动. 使用MSF ...

  2. 网络排查工具MTR介绍

    开源Linux 回复"读书",挑选书籍资料~ 常用的 ping,tracert,nslookup 一般用来判断主机的网络连通性,其实 Linux 下有一个更好用的网络连通性判断工具 ...

  3. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

  4. 20145236《网络对抗》Exp2 后门原理与实践

    20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...

  5. 20155202 张旭《网络对抗》Exp2 后门原理与实践

    20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...

  6. 20155211《网络对抗》Exp02 后门原理与实践

    20155211<网络对抗>Exp02 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启动 ( ...

  7. 20155218《网络对抗》Exp2 后门原理与实践

    20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...

  8. 20155227《网络对抗》Exp2 后门原理与实践

    20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...

  9. 20155232《网络对抗》Exp2 后门原理与实践

    20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...

随机推荐

  1. git连接远程仓库

    1. 连接远程仓库 1.1. 创建仓库 在连接远程仓库之前,得先要确定你有一个远程仓库,到GitHub官网搞一个账户. 点右上角的加号然后"New repository"输入一个仓 ...

  2. 『学了就忘』Linux权限管理 — 53、ACL权限详解

    目录 1.什么是ACL权限 2.开启ACL 3.ACL权限的相关命令 (1)设定ACL权限 (2)查询文件的ACL权限 (3)设置文件ACL权限给用户组 (4)给文件夹和里边的文件同时赋予ACL权限 ...

  3. Java架构师和开发者实用工具推荐

    目前,Java已经受到全球数百万开发者的肯定和追捧,成为最具代表性的编程语言之一.前段时间刚刚发布的Java8完美诠释了高效和创新的特性,也为很多开发者和企业铺平了道路.不过,作为一位优秀的Java架 ...

  4. P7327 Dream and Discs

    题目传送门. 题意简述:有 \(n\) 个数 \(a_1,a_2,\cdots a_n\),等概率选取区间 \(P_1,S_1\subseteq [1,n]\),\(P_2\subseteq P_1\ ...

  5. 一类巧妙利用利用失配树的序列DP

    I.导入 求长度为\(\text{len}\)的包含给定连续子串\(\text{T}\)的 0/1 串的个数.(\(|T|<=15\)) 通常来说这种题目应该立刻联想到状压 DP 与取反集--这 ...

  6. android listview展示图片

    最近学习android开发,感触颇多,和网站开发对比,还是有很大的差距,在这里记录一下. android listview展示图片 在网站开发上,展示图片非常简单,一个HTML img标签就搞定,加上 ...

  7. 微信第三方平台获取component_verify_ticket

    官方文档说明: 在公众号第三方平台创建审核通过后,微信服务器会向其"授权事件接收URL"每隔10分钟定时推送component_verify_ticket.第三方平台方在收到tic ...

  8. 在Idea上用JDBC连接mysql数据库

    一.前言 本次操作建立在idea中java环境已配置的基础上 二.操作步骤 1.建立Web项目后,添加驱动包 mysql-connector-java-5.0.8-bin.jar (1)下载mysql ...

  9. 【每天五分钟大数据-第一期】 伪分布式+Hadoopstreaming

    说在前面 之前一段时间想着把 LeetCode 每个专题完结之后,就开始着手大数据和算法的内容. 想来想去,还是应该穿插着一起做起来. 毕竟,如果只写一类的话,如果遇到其他方面,一定会遗漏一些重要的点 ...

  10. 日常Java 2021/11/2

    Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型.将序列化对象写入文件之后,可以从文件中读取出来 ...