ping命令的功能
-
测试
ip层
是否连通
,评估网络质量
。ping ip地址
- ping不通的原因:网络层连接不通,或者防火墙问题等。
某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,ping是被防火墙禁用的
ping通但是还是连不上网
,说明是传输层及以上有错误,即本地主机的问题
。
- ping不通的原因:网络层连接不通,或者防火墙问题等。
-
根据域名得出解析IP
ping 域名
ping命令的工作过程
假设有两个主机,主机A(192.168.0.1)和主机B(192.168.0.2),现在我们要监测主机A和主机B之间网络是否可达,那么我们在主机A上输入命令:ping 192.168.0.2
- 此时,ping命令会在主机A上构建一个 ICMP的请求数据包(只包含传输协议数据,不包含用户数据),然后 ICMP协议会将这个数据包以及目标IP(192.168.0.2)等信息一同交给IP层协议。
- IP层协议得到这些信息后,将源地址(即本机IP)、目标地址(即目标IP:192.168.0.2)、再加上一些其它的控制信息,构建成一个IP数据包。IP层协议得到这些信息后,将源地址(即本机IP)、目标地址(即目标IP:192.168.0.2)、再加上一些其它的控制信息,构建成一个IP数据包。
- IP数据包构建完成后,还不够,还需要加上MAC地址,因此,还需要通过ARP映射表找出目标IP所对应的MAC地址。当拿到了目标主机的MAC地址和本机MAC后,一并交给数据链路层,组装成一个数据帧,依据以太网的介质访问规则,将它们传送出出去。
- 当主机B收到这个数据帧之后,会首先检查它的目标MAC地址是不是本机,如果是就接收下来处理,接收之后会检查这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协议,然后IP层协议检查完之后,再将ICMP数据包取出来交给ICMP协议处理,当这一步也处理完成之后,就会构建一个ICMP应答数据包,回发给主机A
- 在一定的时间内,如果主机A收到了应答包,则说明它与主机B之间网络可达,如果没有收到,则说明网络不可达。除了监测是否可达以外,还可以利用应答时间和发起时间之间的差值,计算出数据包的延迟耗时。
参考文献
https://segmentfault.com/q/1010000006060537/a-1020000006060628 ping通说明什么,说明网络在哪一层上是通的?
https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653195824&idx=2&sn=3422adf922236f358f5658aaff50a0cf&chksm=8c99fceabbee75fc91c1c67a0b5cc33fe7150a7fb1f18d3e3267d6a4f0edf84452cac910222e&mpshare=1&scene=1&srcid=1026Q1Ummmbq9QqxS5HgRrbK#rd ping命令的工作过程
https://www.cnblogs.com/jtianlin/p/4045021.html ping和telnet的区别
https://www.jianshu.com/p/c9c096525e95 ping、telnet、tracert 的用法与介绍