热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javalinuxtracert_Linux命令:traceroute(windows中为tracert)

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination

通过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消息。



推荐阅读
  • ACL扩展试验
    ACL扩展试验:考虑网络实际情况:配置:计算机IP如上,路由1的配置如下:RouterenableRoute ... [详细]
  • 小记hbase数据库java API 常用方法及案例
    HBaseAdmin类:管理hbase数据库的表信息,‘创建表、删除表、列出表选项、使表有效/无效、添加或删除列簇’;  ... [详细]
  • 使用IGP和BGP的配合达到降低路由容量目的的实验与总结
    本文描述了OSPF和BGP配合来降低路由器的容量压力的实验和总结,有助于对IGP协议和BGP协议的互 ... [详细]
  • netty中的UDP
     UDP提供了向多个接收者发送消息的额外传输模式:多播——传输到一个预定义的主机组;广播——传输到网络(或者子网)上的所有主机。本示例应用程序将通过发送能够被同一个网络中的所有主机 ... [详细]
  • windows server 2008 r2 enterprise ,惠普DL 580 G7服务器报,事件 ID: 47错误。
    windowsserver2008r2enterprise,惠普DL580G7服务器报,事件ID:47错误。1、先简单说明一下故障,某单位选用了惠普服务 ... [详细]
  • 原文地址:http:www.eoandroid.comviewthread.php?tid1745很多开发者朋友想必很多都是游戏玩家,对于游戏的感情也一定很深。Android的开放平 ... [详细]
  • Linux DNS
    libnss_files.solibnss_dnslibnss_ldap展现的就是一个配置文件etcnsswitch.conf?查看这个文件这个files就是通过libnss_fi ... [详细]
  • 1.1.1InputStreampublicabstractclassInputStreamimplementsCloseableInputStreamm继承接口Closeable ... [详细]
  • 在做linux下面的网络编程时写了如下一段程序[cpp:showcolumns]viewplaincopy102030405060708090100110120130140150& ... [详细]
  • 这几天接了一个项目,需要制作点阵文字,所以接触了字库这东西,由于网上字库挺多的,但是不全,有的字库全,但是字库的读取代码只有一部分,所以还是花费了一天时间搞这东西。现在整理了一份叫全的 ... [详细]
  • 1.介绍UDPUDP与TCP相比,它是不可靠的传输,但是它效率高。对于UDP的传输有这样的一个特点那就是在传输时不需要对方的应答,直接将信息给了对方,至于对方是否接收到,它是不管的,所以它是不可靠 ... [详细]
  • 1:Linux进程间通信类型2:管道(pipe)和有名管道(FIFO)。3:信号(signal),见signal函数、sigaction函数及信号集操作函数和信号的发送和捕捉函数( ... [详细]
  • 1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI参考模型的层次是什么?有7个OSI层 ... [详细]
  • 极空间NAS实测:足以告别存储焦虑 数据随身存
    如果你有大量数据的存储需求,那对NAS一定不会陌生,而且“折腾”NAS的人也有不少,网上也可以找到很多相关内容和教程win7家庭普通版下载。不过,对于大多数普通 ... [详细]
  • netstat1.作用检查整个Linux网络状态。2.格式netstat[-acCeFghilMnNoprstuvVwx][-A][--ip]3.主要参数-a--all࿱ ... [详细]
author-avatar
修竹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有