百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

网络工具中的瑞士军刀:Ping和Tracert

nanshan 2025-06-12 14:49 6 浏览 0 评论

引言:

Ping命令是一种存在于Windows、Unix和Linux系统下的一种命令。往往常用于测试分析判断网络问题所在,ping命令使用ICMP协议,该协议是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。我们平时可以通过Ping命令来检测当前网络是否联通。Ping测试的是端对端连通性,通常用来作为可用性的检查。但是某些病毒木马会强行大量远程执行Ping命令抢占你的网络资源,导致系统变慢、网速变慢。

Tracert是一个常用的网络工具命令,用于追踪分析数据包在网络中传输时经过的路径,并输出到达目标地址的延迟情况和节点信息。它主要用于确定 IP 数据报访问目标所采取的路径。Tracert 通过向目标发送不同生存时间(TTL)的 Internet 控制消息协议(ICMP)回应数据包,在数据包经过的每个路由器上,TTL 值会减 1,当 TTL 为 0 时,该路由器会返回一个 ICMP 超时消息。这样,Tracert 就可以获取到数据包在网络中经过的各个节点(路由器)的信息,包括 IP 地址和响应时间等。

一、Ping命令详解

Ping命令检查连通性的五个步骤:

1) 使用ipconfig /all观察本地网络设置是否正确;

2) Ping 127.0.0.1,127.0.0.1回送地址,Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;

3) Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;

4) Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

5) Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。

在检查网络连通的过程中可能出现一些错误,这些错误总的来说分为最常见。

1) Request Timed Out

请求超时(Request timed out)

这是经常会碰到的提示信息,有下面几种情况:

i. 对方主机不存在或关机。

ii. 与对方不在同一网段内(路由除外):在不通过路由的情况下,无法ping通不同网段的主机。通过路由能找到对方的情况下也能够ping通。

iii. 对方存在,但设置了ICMP数据包过滤(比如防火墙设置):怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的计算机名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

iv. 本机多张网卡设置冲突:如果一台主机有两个网卡,两个网卡的IP处于一个网段,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机ping其他的机器时,会存在这样的问题:本机不知道数据包要从哪个接口发出,因为两个网络接口都连接在同一网段。从其他主机ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功ping通这台机器了。


2) Destination Host Unreachable

目标主机不可达(Destination host Unreachable)


对方与自己不在同一网段内,而自己又未设置默认的路由,就会出现“目标主机不可达”。或者网线出了故障。

如何用Ping命令来判断一条链路的速度?

我们分析一次完整的Ping请求过程,Ping命令是依托于ICMP协议的,ICMP协议的存在就是为了更高效的转发IP数据报和提高交付成功的机会。Ping命令除了依托于ICMP,在局域网下还要借助于ARP协议,ARP协议能根据IP地址反查出计算机的MAC地址。另外ARP是有缓存的,为了保证ARP的准确性,计算机会更新ARP缓存。它所利用的原理是网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

我们先来看看它有那些返回数据:

在例子中“字节=32”表示ICMP报文中有32个字节的测试数据(这是估算速度的关键数据),“时间=40ms”是往返时间。ping可以用来测试端对端的平均通信速率,而非点对点的链路通信速率。

因此需要注意,这种算法在局域网并不适用,因为在局域网中速度非常的快,几乎少于1ms,而Ping的最小时间分辨率是1ms,所以根本无法用Ping命令来检测速度。如果想测试速度那就要用专门仪器来检测。

二、Tracert命令概述

通过 Tracert 命令,用户可以了解网络的连通性情况,发现网络中的故障点或延迟较大的节点,对于网络故障排查和性能评估具有重要意义。它能帮助网络管理员或技术人员确定网络数据包传输的路径和潜在问题,以便采取相应的措施来优化网络性能或解决网络故障。

如何使用Tracert命令

在 Windows 10 系统中,可以使用以下步骤来使用 tracert 命令:

1) 打开命令行:可以通过在开始菜单中搜索“命令提示符”或“CMD”来打开命令行窗口。

2) 输入命令:在命令行中输入“tracert”,后面加上要跟踪的目标地址或域名,例如“tracert example.com”。

3) 查看结果:tracert 命令会显示从本地计算机到目标地址的路由路径,包括经过的每个路由器的 IP 地址和响应时间。

此外,tracert 命令还有一些常用的选项,例如:

-d :不解析主机名,直接显示 IP 地址,以加快显示速度。

-h :指定跟踪的跃点数,默认值为 30。

-w :指定等待每个应答的时间(以毫秒为单位),默认值为 3000 毫秒。


通过使用 tracert 命令,用户可以了解网络连接的情况,确定数据包在网络中的传输路径,有助于排查网络故障和优化网络性能。


Tracert命令被广泛用于网络故障处理和网络性能分析。比如你需要查询到百度的IP地址的路由信息,你可以使用Tracert命令,windows系统会自动进行路由跟踪,并打印出许多节点信息

三、 实际应用场景及案例分析

在一个真实的场景里,某公司员工反映上网缓慢,IT支持人员便可以通过执行Ping和Tracert操作初步判断问题是出在哪一段。通过对总部服务器的连续几轮Ping检测发现有较高的丢包率;然后用Tracert进一步查探具体路由节点存在问题,结果表明某个跳跃点出现显著延时。于是工程师联系该跳转点所在的ISP提供商解决了此瓶颈,有效提升了整个办公环境的网络性能。


假设我们要检测与网站 example.com 的网络情况。

首先执行 ping example.com ,结果可能如下:

可以看到数据包全部成功接收,没有丢包,且延迟较为稳定。

接着执行 tracert example.com ,可能得到如下结果:

从这个结果可以清晰地看到数据包经过的各个路由节点以及相应的响应时间,有助于了解网络的具体路径和潜在问题。关于“请求超时”部分,可能存在以下几种可能:

i. 目标主机不可达或者不在线。

ii. 网络故障,如路由器或链路问题。

iii. 防火墙或安全软件阻止了 tracert 请求。

iv. tracert 请求的超时时间设置得太短。


解决方法:

i. 检查目标主机是否在线,并且确保没有网络地址转换(NAT)或防火墙阻止tracert命令。

ii. 尝试ping目标地址,以确定目标是否可达。

iii. 如果可能,尝试使用其他路由来运行tracert,以排除特定路由器或链路问题。

iv. 检查本地计算机的网络配置,确保没有错误的IP地址、子网掩码或默认网关设置。

v. 如果你是网络管理员,检查网络中的路由器和防火墙设置,确保它们没有阻止ICMP数据包。

vi. 如果问题依然存在,可能需要联系网络服务提供商或中间网络设备的管理员来进一步诊断问题。


四、结论

综上所述,无论是初级用户还是资深系统管理员都应当学会掌握Ping和Tracert这两种简单但强大的工具。虽然现代有很多图形界面的网络监测软件提供更丰富的选项和视觉反馈,但在某些特定情况下原始的命令行方式依然不可或缺,因为Ping和Tracert不需要借助任何第三方软件,即可在windows系统上实现网络检测。懂得灵活运用这两把"瑞士军刀"对确保网络安全顺畅地运作至关重要。




文章引用:

1、cmd命令中ping命令的应用

https://jingyan.baidu.com/article/fa4125ace1adf028ac709295.html

2、涨姿势:Tracert的详细使用方法(网络路由跟踪命令)

https://best.pconline.com.cn/yuanchuang/12840476.html

3、详解ping命令

https://syjx.gdhsc.edu.cn/info/1012/1675.htm

相关推荐

MongoDB 从入门到实战:.NET 平台完整指南

一、什么是MongoDBMongoDB是一种功能强大且灵活的NoSQL数据库,适用于处理大规模的半结构化数据和高并发场景。它不依赖于固定的表结构和关系模型,而是以文档的形式存储数据,每个文档可...

NET Framework安装失败的原因及解决方法

大家好我是艾西,一个做服务器租用的游戏爱好者兼网络架构系统环境问题网络工具人。在我们平时使用PC安装某些程序会出现.NETFramework缺失的提示,那么也会有很多的小伙伴搞不懂什么原因导致的,这...

这可是全网eNSP安装最完整,最详细的图解,没有之一(常见问题)

eNSP安装大纲eNSP安装详细图解篇幅较长,会分三篇更完。急需安装的朋友可以在文末获取图解文档和所需软件工具。ENSP安装常见问题和解决方案Vbox安装错误eNSP在安装的过程当中,经常会出现一...

如何在windows 2012安装.NET Framework3.5

Windowsserver2012R2,自带的是.NETFramework4.5,如果想装SQLserver2008或者SQLserver2012需要安装.ENTFramework...

3款国内可用的「Chrome」扩展下载网站

身为程序员,有几个不使用Chrome浏览器提升下编码效率呢?Chrome拥有众多丰富强大的扩展程序,今天给大家分享三个国内可用的Chrome扩展下载网站,收藏一下吧,不然下次就找不到我咯!C...

下载 Windows 10 应用商店程序离线包方法

有厂商为了图方便,会把Windows10应用商店里面的UMP应用改成EXE程序版本。例如之前「网易云音乐」UMP版本简洁清爽,获得不少用户推荐,后来官方懒得更新了,直接把UMP版本...

极速安装!NET Framework 3.5零距离指南!

.NETFramework3.5是一款由微软开发的应用程序框架,它为许多Windows应用程序提供了基础支持。它的新版本带来了许多令人兴奋的功能和改进,比如增强的XML和JSON处理能力以及强大的...

Microsoft.NET离线运行库合集发布 2021

软件介绍.NET是微软具有战略意义的框架,也是装机必不可少的框架,想要一个一个安装略显繁琐,再加上很多电脑小白不知道怎么下载,不小心就下载到某某高速加载器,这个运行库极大解决了这个问题,采用微软官方....

缺少.net framework 3.5怎么办?(缺少.net4.5.1或以上环境)

很多电脑用户在玩某些程序游戏时都会遇到一个头痛的问题,弹出缺少“NETFramework3.5”的提示。微软从Windows8开始默认屏蔽了“.NET3.5”,如果用户有需要就必须选择在线安装...

Windows11无法正常安装.net 3.5组件的解决方法

最近因公司部分电脑升级至Windows11之后,重新安装某些需要加载.net3.5组件的应用软件时,都提示无法完成加载或安装.net3.5而导致无法完成安装。使用离线安装包亦一样无法完成安装。一...

离线安装.Net Framework 3.5(离线安装.net framework 4.0)

前言.Net3.5已经越来越少用到了,但是偶尔还是会遇到一些老软件需要。而Win10、Win11的系统,直接在控制面板的里添加,经常会添加失败!解决方法首先需要一个系统的ISO镜像来提取sxs文件夹:...

Jenkins 11个使用技巧,90%以上的人没用过

一、Performance插件兼容性问题自由风格项目中,有使用Performance插件收集构建产物,但是截至到目前最新版本(Jenkinsv2.298,Performance:v3.19),此...

6款Linux常用远程连接工具,你最中意哪一款?

点击上方头像关注我,每周上午09:00准时推送,每月不定期赠送技术书籍。本文2106字,阅读约需6分钟Hi,大家好。远程连接的实现方法有很多,概括地说有两种,一种是用系统自带的远程连接,另外一种是用...

Linux常用远程连接工具介绍,总有一款适合你

作为运维或者网工最常用就是ssh远程和远程桌面工具,本文就介绍几个常用的远程连接工具,你在用哪一款呢SecureCRT介绍:我觉得这个是最好的SSH工具,没有之一。SecureCRT支持SSH,同时支...

终极软路由网络设置,ESXi虚拟机安装iKuai+openWrt双路由系统

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:BigBubbleGum本文是软路由系列的第五篇,也是折腾时间最长的一篇,在ESXi下分别独立安装和使用iKuai和openWrt...

取消回复欢迎 发表评论: