Linux命令:traceroute(windows中为tracert)

通过traceroute 我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上 来说大部分时候所走的路由是相同的。
Linux 系统中个,我们称之为 tracertoute,在 MS  Windows 中为 tracert。

traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称及其IP地址。

  在大多数情况下,我们会在 Linux 主机系统下,直接执行命令行。

  traceroute   hostname

  而在 Windows 系统下是执行 tracert 的命令:

  tracert  hostname

  1.命令格式:

    traceroute  [参数]  [主机]

  2.命令功能:

    traceroute   指令让你追踪网络数据包的路由途径,预设数据包大小是40 Bytes, 用户可另行设置。

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

  3.命令参数

  -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  开启或关闭数据包的正确性检验

  4.返回结果解释:

默认情况下,TTL的最大值为30,可根据实际情况改变设置,并且发送3个探测(各自有不同的TTL的值)到每一跳
返回结果解释:
*  探测报文没有获得响应,出现这种情况,可能是防火墙封掉了 ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
! 接收到报文中的TTL值为1
!H 目标主机不可达
!N 目标网络不可达
!P 目标协议不可达
!S 源路由选项错误,表示某一路由器有程序错误或硬件故障
!F 探测报文需要分段,表示某一路由器有程序错误或硬件故障
!X 由于通信被管理性禁止,该路径被阻塞或关闭

有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因,当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加 -n  参数来避免DNS 解析,以 IP格式 输出数据。

  5。traceroute命令选项的应用

  当目标主机所处的网络与本机所处的网络间路由数较多(多于30)时,修改TTL的值
  #traceroute -m 35 128.197.2.200
  默认情况下,基于UDP协议发送探测报文,但网络中有的路由器不支持,-I参数表示使用ICMP协议代替
  #traceroute -m 35 -I 128.197.2.200
  默认情况下,UDP协议的33434端口进行跟踪,-p 指定端口号
  #traceroute -m 35 -p 65000 128.197.2.200
  -v 用来为每一跳显示响应报文的大小和响应报文的目标
  -n 用来显示地址而不是使用符合化的名字显示,减轻网络服务的负荷(加快速度)

  6.TTL

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。

时间: 2024-08-19 07:15:43

Linux命令:traceroute(windows中为tracert)的相关文章

linux命令---查找文件中的内容

linux命令---查找文件中的内容 [[email protected] ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者second的行 first line:123456789012345678901234567890123456789012345678901234567890 second line:one two three four five six seven eight nine ten [[email pro

&#8203; Linux 命令汇总 更新中

 Linux 命令汇总  1.保存新建分区信息至 /etc/fstab fstb :echo /dev/xvdb1 /mnt ext3 defaults 0 0 >> /etc/fstab 2.%s/old/new/g 用字符串 new 替换正文中所有出现的字符串 old 3.ssh生产秘钥工具 ssh-keygen -t rsa 默认密码保存文件:./.ssh/authorized_keys 默认生成的 私钥文件为: id_rsa     . 公钥为 id_rsa.pub 4.查找命令 ch

如何使用linux命令统计文本中某个单词的出现频率

使用这个命令查出文本中的单词出现频率按照由高到底排序 cat words.txt |tr -cs "[a-z][A-Z]" "[\012*]"|tr A-Z a-z|sort|uniq -c|sort -k1nr -k2|head -10 但是有时我们想查找出某一个单词的出现频率这时我们可以使用如下几个命令 文件名称:file  查找单词名称:word 操作命令: (1)more file | grep -o word | wc -l (2)cat file | g

Linux 命令 - traceroute: 数据报传输路径追踪

traceroute 工具用于跟踪数据报的传输路径:当数据报从一台计算机传向另一台计算机时,会经过多重的网关,traceroute 命令能够找到数据报传输路径上的所有路由器.通过 traceroute 工具跟踪到的传输路径只是这两台计算机之间众多通路中的一条,所以不能肯定火假设数据报会永远只走这一条通路. traceroute 过程 1. 将传递到目的 IP 地址的 ICMP Echo Request 消息的 TTL 值设置为 1,该数据报经过第一个路由器时,其 TTL 值减去 1,此时新产生的

Linux命令-统计文件中的字节数、字数、行数:wc

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数.字数.行数,并将统计结果显示输出.该命令统计指定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所指定文件的总统计数. 3.命令参数: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能与 -c 标志一起使用. -w 统计字数.一个字被定义为由空白.

linux命令在文件中根据命令查找

find . -type f -name "*.tmp" | xargs grep -ri "2016-08-30 04:00:00|2016-08-30 05:00:00" -l //在当前目录以下,在*.tmp所有文件中查找内容为“2016-08-30 04:00:00|2016-08-30 05:00:00”的匹配数据

linux命令 把Windows 文件拷贝到linux

scp build.zip [email protected]:/tmp   // 把Windows上的build.zip拷贝到[email protected]的    /temp目录下 unzip /tmp/build.zip /var/www/html          // 把  /tmp/build.zip 解压缩到 /var/www/html scp -r /var/www/html/build/* /var/www/html (文件夹下的东西都拷贝过去,包含文件夹),  -r表示递

每天一个linux命令(42)--traceroute命令

通过traceroute 我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上 来说大部分时候所走的路由是相同的.Linux 系统中个,我们称之为 tracertoute,在 MS  Windows 中为 tracert. traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间.一条路径上的每个设备traceroute要测3次.输出结

【转】每天一个linux命令(55):traceroute命令

原文网址:http://www.cnblogs.com/peida/archive/2013/03/07/2947326.html 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的.linux系统中,我们称之为traceroute,在MS Windows中为tracert. traceroute通过发送