PING 工作原理

一、什么是 PING 是

DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping 发 送一个 ICMP 回声请求消息给目的地并报告是否收到所希望的 ICMP 回声应答。

 它是用来检查网络是否通畅或者网络连接速度的命令。 作为一个生活在网络上的管理员或 者黑客来说,ping 命令是第一个必须掌握的 DOS 命令,它所利用的原理是这样的:网络上 的机器都有唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个同 样大小的数据包, 根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机 的操作系统等。

Ping 是 Windows 系列自带的一个可执行命令。利用它可以检查网络是否能够连通,用 好它可以很好地帮助我们分析判定网络故障。应用格式:Ping IP 地址。该命令还可以加许 多参数使用,具体是键入 Ping 按回车即可看到详细说明。ping 指的是端对端连通,通常用 来作为可用性的检查, 但是某些病毒木马会强行大量远程执行 ping 命令抢占你的网络资 源,导致系统变慢,网速变慢。严禁 ping 入侵作为大多数防火墙的一个基本功能提供给用 户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保 护你的电脑

二、PING的工作流程 我们以下面一个网络为例:有 A、B、C、D 四台机子,一台路由 RA,子网掩码均为 255.255.255.0,默认路由为 192.168.0.1 [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 返回一个 超时的信息。

猜你喜欢

转载自blog.csdn.net/Faker_Wang/article/details/81481605