使用 Ping进行网络诊断

网络诊断工具:ICMP、Ping 和 Traceroute 的原理与应用 本文深入探讨了网络诊断中常用的三种工具:ICMP、Ping 和 Traceroute。文章首先介绍了 ICMP 的消息结构和常见类型,然后详细解释了 Ping 和 Traceroute 的工作原理及其在网络故障诊断和性能分析中的应用。通过实际的 C 语言代码示例,展示了如何实现这些网络诊断工具。这些工具对于网络管理员在监控网络健康、定位故障源和评估网络性能方面发挥着至关重要的作用。 阅读详情
Ping命令工作原理!2009-04-27 22:48“Ping”命令是我们在判断网络故障常用的命令,但您真正明白这个命令运行后会发生什么,以及出现的各种信息说明了什么吗?其实熟练的掌握Ping命令的各种技巧可以帮助你解决很多网络故障。下面我们就来详细的了解一下Ping命令。

  “Ping”的幕后过程

  我们以下面一个网络为例:有A、B、C、D四台机子,一台路由RA,子网掩码均为255.255.255.0,默认路由为192.168.0.1

  1.在同一网段内

  在主机A上运行“Ping 192.168.0.5”后,都发生了些什么呢? 首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.0.5”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.0.5”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并想办法得到192.168.0.5的MAC地址(物理地址,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),以便交给数据链路层构建一个数据帧。关键就在这里,IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络内查找这台机器的MAC,如果以前两机有过通信,在A机的ARP缓存表应该有B机IP与其MAC的映射关系,如果没有,就发一个ARP请求广播,得到B机的MAC,一并交给数据链路层。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

  主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。

  2.不在同一网段内

  在主机A上运行“Ping 192.168.1.4”后,开始跟上面一样,到了怎样得到MAC地址时,IP协议通过计算发现D机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的MAC取过来,至于怎样得到路由的MAC,跟上面一样,先在ARP缓存表找,找不到就广播吧。路由得到这个数据帧后,再跟主机D进行联系,如果找不到,就向主机A返回一个超时的信息。

      对Ping后返回信息的分析

  1.Request timed out

  这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤ICMP数据包,从上面工作过程来看,这是不完全正确的,至少有下几种情况。


   


  图:对Ping后返回信息的分析

    
    (1) 对方已关机,或者网络上根本没有这个地址:比如在上图中主机A中PING 192.168.0.7 ,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。

  (2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。

  (3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。

  怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

  (4)错误设置IP地址

  正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:

  A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。

  B.主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。

  2.Destination host Unreachable

  (1) 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping 192.168.0.1.4就会出现“Destination host Unreachable”。

  (2)网线出了故障

  这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。

  3.Bad IP address

  这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。

  4.Source quench received

  这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

  5.Unknown host——不知名主机

  这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

  6.No answer——无响应

  这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

  7.Ping 127.0.0.1:127.0.0.1是本地循环地址

  如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

  8.no rout to host:网卡工作不正常

  9.transmit failed,error code:10043网卡驱动不正常

  10.unknown host name:DNS配置不正确
 


网络诊断工具深度解析:从ping到traceroute 本章深入介绍了网络诊断的常用工具,包括ping、tracert、netstat、arp、hostname等,它们在网络维护和故障排查中的重要性和工作原理。特别强调了不同工具的特性和使用场景,如ping的ICMP回显请求、tracert的路由追踪功能、netstat显示当前网络连接状态等。 阅读详情

相关推荐

PingInfoView:掌握网络诊断的群ping神器

群ping工具是网络诊断中常用的一种应用软件,它能够同时向多个网络地址发送ICMP请求,收集多个目标地址的响应数据。这有助于网络工程师或系统管理员快速检查网络的多个关键节点是否正常,从而进行故障定位和性能评估。与单点ping相比,群ping更为高效,能够提供更全面的网络状态快照。PingInfoView 是一款功能丰富的网络诊断工具,旨在提供网络状态的直观视图,特别是对于大型网络环境的维护和故障排查。通过群ping测试,网络管理员可以快速发现网络中潜在的问题和瓶颈。

weixin_42576467的博客 3072

ping 超时原因

ping命令中请求超时原因分析:未连接上服务器,这是因为系统忙、网速慢、计算机系统资源不足等导致登陆超时均可出现您所述情况! (1) 对方已关机,或者网络上根本没有这个地址 (2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。 (3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。 (4)错误设置IP地址 正常

*番茄脸红红* 2576

掌握网络诊断:使用ping和tcping工具

网络诊断是IT维护人员不可或缺的技能之一,通过网络诊断工具,我们可以有效地检测和诊断网络问题。在本章中,我们将深入了解两个常用的网络诊断工具:ping和tcping。案例:一家公司经常报告网络连接不稳定。通过使用ping命令检测网络连通性,发现大部分时间网络响应正常,但在高峰时段却存在延迟。利用tcping检查特定端口可达性时,发现某些端口响应时间变长,且存在丢包现象。通过综合分析,技术团队最终确定问题出在公司的网络出口设备上,其处理能力在高负载下不足以维持服务质量。

weixin_42465332的博客 1570

ping返回的各种信息的含义

ping返回的各种信息的含义转自:https://blog.youkuaiyun.com/wang_hong_jun/article/details/8741372它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大...

小仙女说:但行好事,不问前程 1万+

掌握ping命令与DOS操作:网络诊断基础

ping命令的-t参数用于指定持续发送回显请求到指定的主机直到用户中断。这是一个非常实用的特性,尤其是在需要长时间监测网络连通性时。例如,在Windows命令提示符中,你可以运行以下命令来持续检查与目标主机的连接状态:ping -t <目标主机IP或域名>在执行此命令后,它将无限期地继续执行,每秒显示一个响应。要停止持续的ping操作,你需要在命令行中按下Ctrl+C组合键。然而,使用-t参数时也有一些限制。

weixin_30978239的博客 1231

C++编程实现网络诊断的ping工具

安全开发生命周期(SDL)是一个确保软件在设计、开发、部署和维护过程中考虑安全性的系统化方法。SDL 的目标是将安全性的考虑融入到软件开发的每个阶段,以减少安全漏洞和缺陷的出现。SDL 涵盖了从项目启动到产品退役的整个生命周期,它要求在软件设计初期就考虑安全性问题,并将其作为项目成功的一个关键因素。SDL 的重要性体现在它可以帮助组织减少因安全漏洞所带来的风险和潜在损失。通过在软件开发流程中引入安全审核、测试和修复步骤,组织可以有效地减少漏洞数量,并确保软件能够抵御未来的安全威胁。

weixin_31569663的博客 881

ping命令解析

它告诉网络中的路由器,该数据包在网络中可以存在的最大时间或经过的最大路由跳数。不同的操作系统默认的TTL值不同,例如默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,Unix主机的TTL值为255。7. 源主机接收和处理应答:源主机接收到应答数据包后,ping命令会解析数据包,提取出相关的信息,如往返时间等,并将这些信息显示给用户,从而让用户了解到网络连接的情况,包括是否连通以及通信的延迟时间等。

luotuo28的博客 6550

MFC实现网络诊断工具:ping源代码分析

Microsoft Foundation Classes(MFC)库是一个用于创建Windows应用程序的C++类库,由微软提供,是微软Visual C++开发环境的一部分。MFC旨在封装Win32 API的复杂性,提供更为方便、面向对象的编程接口,以简化Windows桌面应用程序的开发。通过MFC,开发者可以使用类和对象来处理窗口、菜单、控件等GUI元素,并实现消息处理、事件响应等功能。

weixin_30820933的博客 1123

【网络】Ping 命令|返回信息

目录 命令格式 返回信息 返回结果 命令格式 ping IP地址或主机名 [-t] [-a] [-n count] [-l size]   参数含义:   -t不停地向目标主机发送数据;   -a 以IP地址格式来显示目标主机的网络地址;   -n count 指定要Ping多少次,具体次数由count来指定 ;   -l size 指定发送到目标主机的数据包的大小。 返回信息 Reply from 219.232.236.141: bytes=32 time=52ms TTL...

我的笔记本 1万+

Python实现网络诊断工具ping的教程

Python是一种高级编程语言,以其简洁的语法和强大的库支持而闻名。它提供了一系列用于网络编程的库和模块,使开发者能够轻松创建各种网络诊断工具。这些工具不仅可以帮助IT专业人员监控网络状态,还可以在出现问题时快速诊断和定位问题。Python网络诊断工具可以细分为几类,包括但不限于网络扫描工具、流量分析工具、故障诊断工具等。ICMP(Internet Control Message Protocol)是互联网控制消息协议,它是一个网络层协议,用于在IP主机、路由器之间传递控制消息。

weixin_35094083的博客 943

网络诊断:批量ping IP段工具

网络诊断是确保数据顺利在网络中传输的关键步骤。为了帮助网络管理员高效地定位网络问题,本章将介绍一些常用的网络诊断实用程序,并探讨其在日常IT工作中的具体应用。我们将从网络诊断的基础知识讲起,逐步深入到特定工具的操作和诊断策略中。首先,网络诊断工具包括但不限于ping、traceroute、netstat、telnet等。这些工具各有其专长,比如ping用于测试主机间的连通性,traceroute用于追踪数据包的路由路径,netstat用于查看网络连接状态,而telnet可以用来检测端口的开放情况。

weixin_30481539的博客 1085

ping命令的七种用法,看完瞬间成大神

ping命令的七种用法,看完瞬间成大神 一、ping基本使用详解 在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为: 1、用来检测网络的连通情况和分析网络速度 2、根据域名得到服务器IP 3、根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。 我们通常会用它来直接ping ip地址,来测试网络的连...

独爱米粒 1万+

ping返回值

返回值超巨

网络诊断工具ping介绍

说明 ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)echo 请求报文,测试目的站是否可达及了解其有关状态。 用法介绍 ping --help BusyBox v1.29.3 (2021-10-18 08:33:23 UTC) multi-call bin

凡人叶枫的博客 7754

交流电路计算方法:复阻抗和相量法

一,复阻抗 电容电路,电压与电流的大小比值是XC=1/WC,相位上电流比电压超前90度 这样描述很麻烦,在复平面里,相位超前90度,可以用什么数学表示呢? 也就是说,一个相量,乘以j之后,大小没变化,相位变得超前90度了 同样的,大小不变,相位落后90度应该除以j 原来我们说电容电路,给个电压,算电流又要算XC,又要另外说相位超前90度,现在可以简单点 在这个计算式里,1/wc还是原来的容抗大...

theory and practice的博客 3万+

Flutter for web 首次加载过慢问题优化

Flutter web 加载慢优化

Bright_TY的专栏 7836

bat ping 返回值_如何使用ping命令诊断网络故障

Ping 是Windows系列自带的一个可执行命令。利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障。一、Ping命令详解首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”, 回车即可打开。我们输入 ping /? 例出ping 以下是PING的一些参数:下面我和大家讲解一下,每个参数意思和使用。 ping [-t] [-a] [-n count]...

weixin_39776787的博客 2904

期末求生指南:手把手教你用F12开发者工具绕过百一测评的切屏检测(JavaScript/jQuery实战)

本文详细介绍了如何利用F12开发者工具绕过百一测评的切屏检测,通过分析JavaScript/jQuery中的blur()和focus()事件监听机制,提供实战技巧动态修改代码。文章涵盖事件监听定位、代码修改方法及应对高级检测机制的策略,适合需要临时解决线上考试限制的学生参考。

weixin_30731305的博客 448

windows ping 间隔_干货 | 如何使用ping命令诊断网络故障?

竹文科技 启迪未来Ping 是Windows系列自带的一个可执行命令。利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障。一、Ping命令详解首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”, 回车即可打开。我们输入 ping /? 例出ping 以下是PING的一些参数:下面我和大家讲解一下,每个参数意思和使用。ping [-t]...

weixin_28732953的博客 1384

SAP生产版本导入避坑大全:从‘黄灯’到‘绿灯’,详解CM_FV_MKAL_CONSISTENCY_CHECK检查函数

本文深入解析SAP生产版本导入过程中的常见问题,特别是通过`CM_FV_MKAL_CONSISTENCY_CHECK`检查函数从‘黄灯’异常到‘绿灯’正常的修复方法。涵盖静态与动态校验机制、典型异常场景诊断及批量导入最佳实践,帮助SAP运维人员高效解决生产版本管理难题。

weixin_30568591的博客 388

1、CUDA 编程基础

GPU计算的发展历程与重要性。首先回顾了计算机技术的发展,特别是摩尔定律的影响,强调了计算能力的快速提升。然而,随着晶体管尺寸的缩小和频率的停滞,单线程性能增长放缓。为了继续提升性能,多核处理器开始普及,促使软件开发者开始考虑并行计算。介绍了延迟导向设计和吞吐量导向设计的概念,CPU和GPU分别代表了这两种设计方法。GPU是吞吐量导向的,拥有众多弱小的ALU,通过流水线处理提高算术吞吐量。GPU的成功在于其高并行性和高吞吐量,以及能够分摊高昂的固定成本的大量销售额。

Justinyh的博客 580

ping命令详解和怎么利用ping命令进行网络问题分析诊断

(1)ping 127.0.0.1(2)ping localhost(3)ping 本机ip(4)ping 局域网内其他ip(5)ping网关ip(6)ping远程ip(7)ping 某个域名

阿花的博客 3万+

【模型实战】MiMo-VL-7B讲解与实战

维度成绩MMMU70.6(图像理解最难测试之一)VideoMME70.8(视频理解标杆)59.4(超越78B参数模型)56.1(超过专用GUI模型)Elo评分开源VLM排名第一(7B~72B)社区热度过去一个月下载超1,600次(RL+SFT)📌一句话概括MiMo-VL 是目前性能最强、推理最稳、体验最佳、生态最全的7B级开源视觉语言模型。

m0_47867638的博客 1199

Linux 网络诊断工具 ping:检查网络连通性

在 Linux 系统中,网络连通性是日常操作和故障排除中非常重要的一部分。当系统出现网络问题时,首先需要确认是否存在连通性问题,这时 `ping` 命令就显得尤为重要。作为最常用的网络诊断工具之一,`ping` 用于检测主机之间的网络连接是否畅通。本文将详细介绍如何使用 `ping` 命令检查网络连通性,并通过一些常见示例帮助大家更好地理解其功能和应用。

3013

电子科技大学计算机预推免(最终去向)

电子科技大学,预推免报名时必须要有一封本校老师写的推荐信,推荐信基本上就是复试的入场券,所以一定要提前联系老师,拿到推荐信。只要有机会进了面试,我觉得老师对于双非并不歧视,面试的个人表现才是关键性决定因素,技巧性也是很强的,如果有需要帮助的,欢迎私信~~

D1379951481的博客 3368

31.华为路由器:PPPOE配置模拟实验及NAT配置

实验环境 pppoe-client上面的接口信息 [AR1]dis ip interface brief *down: administratively down ^down: standby (l): loopback (s): spoofing The number of interface that is UP in Physical is 2 The number of interface that is DOWN in Physical is 1 The number of interface

迷逝 8117
上一篇: 普通视图与物化视图
下一篇: 使用REST理念构建可伸缩性的J2EE框架
expectbird
博客等级 码龄19年 9粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值