帮助与文档

当前位置: 主页 > 系统相关 > 正文

Centos使用traceroute排查网络问题

时间:2024/5/4 21:53:47   来源:米安网络   作者:云主机配置专家   点击:16次

本配置适用于centos6,7版本

page-break-inside: auto; page-break-before: auto; page-break-after: auto;">通过traceroute命令可以用来排查一些网络的基础问题。


首先yum安装traceroute

yum install traceroute -y

1.命令格式:

traceroute[参数][主机]

2.命令功能:

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

具体参数格式: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.使用实例:

实例1:traceroute?用法简单、最常用的用法

命令:traceroute?www.baidu.com

5.说明:

记录按序列号从1开始,每个纪录就是一跳?,每跳表示一个网关,我们看到每行有三个时间,单位是?ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用?traceroute?-q?4?www.baidu.com?,表示向每个网关发送4个数据包。

有时我们traceroute?一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

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

如果在局域网中的不同网段之间,我们可以通过traceroute?来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute?追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

6.Traceroute的工作原理:

Traceroute最简单的基本用法是:traceroute?hostname

Traceroute程序的设计是利用ICMP及IP?header的TTL(Time?To?Live)栏位(field)。首先,traceroute送出一个TTL是1的IP?datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP?time?exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute?收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute?再送出另一个TTL是2?的datagram,发现第2?个路由器......?traceroute?每次将送出的datagram的TTL?加1来发现另一个路由器,这个重复的动作一直持续到某个datagram?抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP?time?exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?

Traceroute在送出UDP?datagrams到目的地时,它所选择送达的port?number?是一个一般应用程序都不会用的号码(30000?以上),所以当此UDP?datagram?到达目的地后该主机会送回一个「ICMP?port?unreachable」的消息,而当traceroute?收到这个消息时,便知道目的地已经到达了。所以traceroute?在Server端也是没有所谓的Daemon?程式。

Traceroute提取发?ICMP?TTL到期消息设备的IP地址并作域名解析。每次?,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及?IP地址,三个包每次来回所花时间。

版权保护: 本文「Centos使用traceroute排查网络问题」由 云主机配置专家 原创,转载请保留链接: https://www.miandns.com/docs/system/1305.html

联系客服

0312-5535754

微信公众号