tracert是一个简单的网络诊断工具,我们可以使用用tracert IP命令确定数据包在网络上的停止位置,来判断在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方,方便检测网络中存在的问题,用来显示数据包到达目的主机所经过的路径。
tracert [参数] [主机]
例1:检测IP地址经过几个跃点
例3:“tracert -d www.baidu.com” 代表不将IP地址解析到主机名称,如下图所示:
例4:“tracert -h 3 baidu.com”代表本次tracert搜索的最大跳数,输入3表示搜索在路由器跳转3次,如下图所示:
例5:“tracert -w 6 baidu.com”代表tracert为每次回复所指定的毫秒数,如下图所示:
这里的Linux是在3A网络云服务器上搭建的测试环境
yum -y install traceroute
traceroute是⽤来检测发出数据包的主机到⽬标主机之间所经过的⽹关数量的⼯具。traceroute的原理是试图以最⼩的TTL(存活时间)发出检测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38字节。
traceroute [参数] [主机]
-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 开启或关闭数据包的正确性检验。
例1:traceroute用法简单、最常用的用法“traceroute www.baidu.com”
例2:跳数设置“traceroute -m 10 www.baidu.com”
例3:显示IP地址,不查主机名“traceroute -n www.baidu.com”
例4:检测包使用的基本UDP端口设置6888“traceroute -p 6888 www.baidu.com”
因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。
常用参数:
例1:无参数 ping —— 在默认情况下,一般都是只发送四个32字节数据包,通过这个命令从数据包返回的最短时间、最长时间、平均时间可以衡量网络速度、延迟,从丢失率可以衡量网络的稳定性。(用法如下图)
例2:ping -t —— 不间断地Ping指定计算机,直到管理员中断(Ctrl+C终止)。(用法如下图)
例3:ping -n —— 指定发送多少数据包,通过这个命令从数据包返回的最短时间、最长时间、平均时间可以衡量网络速度、延迟,从丢失率可以衡量网络的稳定性。(用法如下图)
例4:for /L %D in (1,1,255) do ping XXX.XXX.X.%D:批量ping网段,对于一个网段ip地址众多,如果单个检测实在麻烦,那么可以直接批量ping网段检测是那个ip地址出了问题,一目了然。(用法如下图)
例5:ping -s:计数跃点的时间戳(仅适用于 IPv4),有效范围从 1 到 4。(用法如下图)
-h选项获得帮助
-6选项代表ipv6不带这个选项则使用ipv4,也可以使用-4来表示使用ipv4
-c选项,设置ping发送次数。如果不带-c选项,ping会一直发送。
–D选项,ping输出时间戳
-w选项,设定执行时间,打到此时间后停止执行
-R选项,ping过程记录路由信息。
-v选项,显示详细执行过程。
如果-q和-v同时使用,效果跟-q一致。
-t选项,设置存活数ttl的数值。TTL是IP包被路由器丢弃之前允许通过的最大网段数量。一般情况不需要设置。
-4选项,指定IPv4协议
-6选项,指定IPv6协议
-F选项,设置流标记,只能用于IPv6.如果值时0,则会随机分派。
-h选项,获得帮助,等同–help。
-B选项,不允许ping改变原地址的主目标。这个地址在ping开始时,它被绑定了一个已经选择的地址。
-l选项,设置在送出要求信息之前,先行发出的数据包。
-L选项,抑制组播报文回送,只适用于ping的目标为一个组播地址。
-Q选项,设置Qos(Quality of Service),它是ICMP数据报相关位;可以是十进制或十六进制数。
-M选项,设置MTU(最大传输单元)分片策略。
可设置为:
‘do’:禁止分片,即使包被丢弃;
‘want’:当包过大时分片;
‘dont’:不设置分片标志(DF flag);
-W选项,以毫秒为单位设置ping的超时时间
tcping命令基于tcp协议监控,可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从容硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
-t:连续ping直到control-c停止
-n 5:例如,发送5个ping
-i 5:例如,每5秒ping一次
-w 0.5:例如,等待0.5秒响应
-d:在每行包含日期和时间
-b 1:启用beeps(1表示on-down, 2表示on-up,
3代表变化,4代表总是)
-r 5:例如,每5次ping就重新查找主机名
-s: ping成功后自动退出
-v:打印版本并退出
-j:包含抖动,使用默认滚动平均
-js 5:包含抖动,滚动平均大小为(例如)5。
–tee:将输出镜像到’——tee’后面指定的文件名
–append:附加到——tee文件名,而不是覆盖它
-4:首选ipv4
-6:首选ipv6
-c:只显示更改状态下的输出行
–file:将”server-address”作为文件名,逐行遍历文件
注意:——file与-j和-c等选项不兼容,因为它在不同的目标中循环 有选择地接受服务器端口。例如,“example.org 443”有效。 或者,使用-p强制在命令行上对文件中的所有内容使用端口。 例如,如果我们连续失败5次就放弃
– s_x_:指定源地址X。 源必须是客户端计算机的有效IP。
-p X:指定端口的替代方法
–fqdn:如果可用,在每行上打印域名
–ansi:使用ansi颜色序列(cygwin)
–color:使用窗口颜色序列
HTTP选项:
-h: HTTP模式(使用url而不使用http:// for server-address)
-u:每行包含目标URL
–post:使用post而不是GET(可能会避免缓存)
–head:使用head而不是GET
–proxy-server:指定代理服务器
–proxy-port指定代理端口
–proxy-credentials:指定’Proxy-Authorization: Basic’头,格式为username:password
调试选项:
-f:强制tcp至少发送一个字节
–header:包含一个带有原始参数和日期的头文件。 如果使用——tee,则暗示。
–block:使用“blocking”套接字连接。 这将阻止-w工作,并使用
默认超时(在我的情况下,只要20秒)。 然而,它可以检测主动
拒绝连接vs超时。
如果不通过服务器端口,默认值为80。
MTR 是一款强大的网络诊断工具,它集成了 traceroute 和 ping 的功能,并且会收集更多的信息,比如连接状态、可用性等等,在排查网络问题中,非常有用。
1.Windows系统可以直接在https://cdn.ipip.net/17mon/besttrace.exe下载BestTrace工具并安装。也可以在https://github.com/oott123/WinMTR/releases GitHub上下载MTR专用工具,该工具为免安装,下载后可以直接使用。
2.Linux可以直接运行命令进行安装。
Debian/Ubuntu系统
apt install mtr
RedHat/CentOS系统
yum install mtr
3.Apple客户端可以在App store搜索Best NetTools下载安装
4.Android客户端:可以在Google Play上下载TracePing,但是由于国内Google Play无法访问,笔者自行下载下来,可以直接访问 https://dwz.cn/KCdNPH4c 下载TracePing。
测试:mtr qq.com
具体输出的参数含义为:
-n no-dns(或简写为-n) :不对IP地址做域名解析
-s :⽤来指定ping数据包的⼤⼩
-i :使⽤这个参数来设置ICMP返回之间的要求默认是1秒
-a :来设置发送数据包的IP地址 这个对⼀个主机由多个IP地址是有⽤的
-r :已报告模式显⽰
-c : 每秒发送多少包,默认为10个。英⽂是(–report-cycles COUNT)
–report :结果显⽰,并不动态显⽰
这里的Linux全是在3A云服务器上搭建的测试环境