怎么分析trace route 测速结果

traceroute命令的用法实例
traceroute命令的用法实例
traceroute 跟踪数据包到达网络主机所经过的路由工具;
traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为 38个字节。
traceroute [参数选项] hostname,域名或 IP地址
参数选项:
-i 指定网络接口,对于多个网络接口有用。比如 -i eth1 或-i ppp1等;
-m 把在外发探测试包中所用的最大生存期设置为max-ttl次转发,默认值为30次;
-n 显示IP地址,不查主机名。当DNS不起作用时常用到这个参数;
-p port 探测包使用的基本UDP端口设置为port ,默认值是33434
-q n 在每次设置生存期时,把探测包的个数设置为值n,默认时为3;
-r 绕过正常的路由表,直接发送到网络相连的主机;
-w n 把对外发探测包的等待响应时间设置为n秒,默认值为3秒;
实例一: traceroute 用法简单、最常用的用法
就是后面直接接IP或hostname或域名;比如下面的示例;
[root@localhost ~]# traceroute linuxsir.org
traceroute to linuxsir.org (211.93.98.20), 30 hops max, 40 byte packets
&1 sir01.localdomain (192.168.1.1) 0.151 ms 0.094 ms 0.146 ms
&2 221.201.88.1 (221.201.88.1) 5.867 ms 7.588 ms 5.178 ms
&3 218.25.158.149 (218.25.158.149) 6.546 ms 6.230 ms 8.297 ms
&4 218.25.138.133 (218.25.138.133) 7.129 ms 7.644 ms 8.311 ms
注: 此例中,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 linuxsir.org ,表示向每个网关发送4个数据包;
有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据;
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在, 是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。为什么呢?因为北方网通和南方电信各自为政。以前无论怎么说都是一张网,现在就是两张网,是通而不畅。咱们只能望网兴叹了;
实例二:一些参数的用法示例;
[root@localhost ~]# traceroute -m 10 linuxsir.org 把跳数设置为10次;
[root@localhost ~]# traceroute -n linuxsir.org 注:显示IP地址,不查主机名。
[root@localhost ~]# traceroute -p 6888 linuxsir.org 注:探测包使用的基本UDP端口设置6888
[root@localhost ~]# traceroute -q 4 linuxsir.org 注:把探测包的个数设置为值4;
[root@localhost ~]# traceroute -r linuxsir.org 注:绕过正常的路由表,直接发送到网络相连的主机;
[root@localhost ~]# traceroute -w 3 linuxsir.org 注:把对外发探测包的等待响应时间设置为5秒;
在XP中,用tracert来跟踪路由
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'1961人阅读
iOS-分析研究(13)
&&实现Traceroute功能Demo
1、分析Traceroute原理及功能。
2、下载资料,分析官方Traceroute的C源码。
3、编译运行Traceroute的C源码。
1、在traceroute.c的main函数中,指定参数,模拟器下编译运行,结果出现以下提示,且结束运行。
traceroute: icmp socket: Operation not permitted
查询文档有如下说法:
This program
a) can only be run by root (it uses raw ip sockets).
b) REQUIRES A KERNEL MOD to the raw ip output code to run.
所以是权限问题,traceroute (or at least traceroute.lbl) needs setuid permission。作为normal
user没有此权限,只能在root下执行操作。
2、在真机上编译时,总是报错,缺少框架和库,下载安装后又会出现其他问题。查询论坛后,说iOS下也需要root权限。要实现traceroute的功能只有手机越狱。
3、所以之前思路是分析C源码将main的功能提出来实现的方案,暂无法实行。正转向考虑其他途径实现traceroute的功能。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:127004次
积分:1672
积分:1672
排名:千里之外
原创:41篇
转载:14篇
评论:89条
(1)(1)(2)(1)(1)(1)(1)(1)(1)(2)(1)(1)(1)(2)(2)(5)(1)(1)(6)(22)(1)}

我要回帖

更多关于 trace route 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信