在网络工程师的日常工作中,网络故障的诊断与排查是非常常见且重要的任务。随着网络结构的复杂化,传统的网络诊断工具有时显得力不从心。这时,Pathping 命令的出现为网络故障排查提供了一种全新的方法。作为 traceroute
命令与 ping
命令的结合体,Pathping 提供了更深入的网络路径分析,并能有效识别网络瓶颈、延迟问题以及丢包现象。
本文将详细介绍 Pathping 命令的工作原理、常见应用场景以及使用技巧,帮助网络工程师更高效地诊断和解决网络故障。
Pathping 命令概述
Pathping
是 Windows 系统下的一个网络诊断工具,结合了 ping
命令和 traceroute
(在 Windows 中为 tracert
)的功能。它通过发送 ICMP 回显请求(ping)到目标主机,并追踪数据包在路径上的每一跳,分析中间路由器的表现。
Pathping 的优点在于,它可以持续跟踪每一个路由节点的网络质量,包括丢包率和延迟,从而更精准地定位网络瓶颈。
Pathping 与 Traceroute、Ping 的比较
-
Ping:Ping 主要用于测试到目标主机的连接是否正常,能够返回响应时间(延迟),但是它只能显示最终的结果,无法得知数据包在途中每一跳的状态。
-
Traceroute:Traceroute 命令可以追踪数据包从源主机到目标主机的路径,并显示每一跳的路由信息及延迟。但它只提供路径和延迟数据,无法显示丢包情况。
-
Pathping:Pathping 结合了 Ping 和 Traceroute 的优势,能够同时提供每一跳的延迟、丢包信息以及路由路径的详细分析,使得故障排查更加准确高效。
Pathping 命令的工作原理
要深入理解 pathping 命令的强大功能,我们首先需要了解其工作原理。pathping 命令在执行过程中,会先使用 tracert 命令的原理,通过发送一系列带有不同 TTL(Time To Live,生存时间)值的 ICMP(Internet Control Message Protocol,互联网控制消息协议)回显请求报文,来确定数据包从源主机到目标主机所经过的每一跳路由器。当报文到达某一跳路由器时,由于 TTL 值减至 0,路由器会向源主机发送一个 ICMP 超时消息,告知报文已到达该路由器。pathping 命令通过收集这些超时消息,逐步构建出完整的网络路径。
在确定了网络路径之后,pathping 命令会对每一跳路由器进行多次 ping 操作,统计每一跳的延迟(往返时间)和丢包率。它会持续发送一定数量的 ICMP 回显请求报文,并记录每一跳路由器对这些报文的响应情况。通过这种方式,pathping 命令能够详细地展示每一跳路由器的网络性能指标,帮助我们了解网络中的瓶颈和故障点。
Pathping 命令的基本语法与使用方法
Pathping 命令的基本语法如下:
pathping [目标主机] [参数]
常见的参数包括:
-
-n:显示路由的 IP 地址而不是主机名(有时 DNS 解析可能会耗时)。
-
-h:设置最大跳数(默认值是 30 跳)。
-
-p:设置每次跳跃之间的间隔时间(默认是 250 毫秒)。
-
-q:设置每跳发送的请求数(默认为 30)。
-
-w:设置等待每次回复的超时时间。
示例:
pathping -n -h 20 baidu.com
该命令将追踪到 baidu 网站的路径,并显示前 20 跳的路由器 IP 地址,不进行 DNS 解析。
Pathping 命令执行完后,系统会显示每一跳的信息,包括:
-
主机名称(如果进行了 DNS 解析)和 IP 地址。
-
平均延迟(以毫秒为单位),展示每个节点的响应时间。
-
丢包率,显示每个路由器的丢包情况。如果某个节点有较高的丢包率,说明此节点可能是瓶颈所在。
在这个输出中,每行代表一个路由节点,展示了从源主机到该节点的延迟情况。
注意事项
-
pathping
可能需要几分钟才能完成,因为它会发送大量的网络请求以收集数据。 -
它通常只在 Windows 操作系统上可用,但 Linux 和 macOS 用户可以使用
traceroute
和ping
的组合来达到类似的效果。
通过对 Pathping 命令的深度解析,我们可以看出它是一个强大的网络故障诊断工具,能够帮助网络工程师全面分析网络路径中的延迟、丢包等问题。熟练掌握 Pathping 的使用方法,不仅可以提升故障排查的效率,还能帮助工程师更好地理解网络结构和性能瓶颈。在日常的网络维护与优化工作中,Pathping 绝对是一个值得依赖的工具。
—END—
重磅!网络技术干货圈-技术交流群已成立
扫码可添加小编微信,申请进****群。
一定要备注:工种+地点+学校/公司+昵称(如网络工程师+南京+苏宁+猪八戒),根据格式备注,可更快被通过且邀请进群
网络安全学习路线&学习资源
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!