Ping命令,相信小伙伴们经常听说。今天,小白来分享一些小经验。
一、Ping命令的基础知识
Ping命令是一个十分好用的TCP/IP工具,可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。
Ping命令使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应信息,因而得知该主机运作正常。
在实际操作中,我们只需要点击计算机开始菜单中的“运行”选项,输入“cmd”。
再按回车,即可打开DOS命令界面。
ping命令有很多用法,在DOS命令界面执行“ping/?”就可以看到一些参数的简要介绍。
小白就不一一介绍了,后面会进行针对性讲解。
二、Ping命令的工作过程
以局域网为例,我们来学习ping命令的工作过程。
1.主机A要ping主机B,需要封装二层报文,他会先查自己的MAC地址表,如果没有B的MAC地址,就会向外发送一个ARP广播包。
ARP报文格式如下:
其中OP项:“1”表示ARP请求 ;“2”表示ARP应答;“3”表示RARP请求;“4”表示RARP应答 。
2.交换机会收到这个报文后,检索自己是否有主机B的MAC地址,如果有,就返回给主机A,如果没有,就会向所有端口(除源端口)发送ARP广播。
3.各主机收到后,发现不是在找自己,就纷纷丢弃了该报文,不去理会。直到主机B收到了报文后,就立即响应,同时学到主机A的MAC地址,并按同样的ARP报文格式返回给主机A。ARP报文格式为:
3.这时候主机A学到了主机B的MAC地址,就把这个MAC地址封装到ICMP协议的二层报文中向主机B发送。
4.当主机B收到了这个报文后,发现是主机A 的ICMP请求,就按同样的格式,返回一个值给主机A,这样就完成了同一网段内的ping过程。其实,Ping命令实际发生过程可能不到1毫秒。
三、ping 命令的具体用法
1.ping
我们通常会直接执行“ping ip地址”命令,来测试网络的连通情况。
“字节=32”表示:数据包大小为32bit。
“时间<1ms”表示:数据包往返时间,这个时间越小,说明你连接这个地址速度越快。
TTL值:表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。
一般情况下,TTL值:
在100至130ms之间,目标主机系统为Windows。
在240至255ms之间,目标主机系统为UNIX/Linux系统。
2.ping -t
执行“ping -t”命令可以不间断地ping指定计算机,直到管理员中断。
按住键盘的Ctrl+C终止连续ping操作,且会总结出运行的数据包多少,通断的有多少。
3.ping -a
执行“ping -a”命令,可以解析计算机名与NetBios名,就是可以通过ping它的ip地址,可以解析出主机名。
从上面就可以知道IP为192.168.0.102的计算机NetBios名为TOPIT-20190706K。
4.ping -n
在默认情况下,ping某个ip地址,一般只发送4个数据包。但执行“ping -n”命令可以自主定义发送数据包的个数。
比如,我想测试发送20个数据包的最快时间、最慢时间和平均返回时间。
从以上可知,向127.5.121.5发送20个数据包,全部正常返回,返回速度最快0ms,最慢0ms,平均返回时间0ms,说明网络很好。
如果网络不好有卡顿,就会出现数据包丢失较多,返回时间较长的现象,这个命令可以更直观的判断出网络的情况
5.ping -l size
执行“ping -l size”命令能够向目标主机发送指定大小的数据包,在默认情况下,最大能发送65500byte。
这里强调一下,“ping -l size”结合“ping -t”会造成DOS攻击,对目标主机造成危险,所以不要轻易使用。
6.ping -r count
执行“ping -r count”命令可以查看传出和返回数据包的路由,但最多只能追踪到9跳路由。
例如:ping -n 1 -r 9 202.102.224.25(发送1个数据包,记录9跳路由)
可以看出,执行结果将经过的9条路由都显示出来了。
7.Ping 127.0.0.1
127.0.0.1是本地循环地址,如果无法Ping通,则表明本地机TCP/IP协议不能正常工作。
ping命令用的较多的就这7类,我们需要熟练掌握。
四、怎样使用Ping命令来测试网络连通呢?
网络连通故障原因有很多种,如本地配置错误、远程主机协议失效、设备故障等。
我们可以使用Ping命令来查找问题所在,接下来,小白介绍一个典型的检测次序。
1.使用ipconfig /all观察本地网络设置是否正确。
2. Ping 127.0.0.1,Ping本地循环地址是为了检查本地的TCP/IP协议有没有设置好。
3.Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误。
4.ping局域网内其他IP地址,这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确,本机与本地网络连接。
5.ping 网关IP,这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
6.Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。
7.Ping localhost,localhost是网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这一点,则表示主机文件(/Windows/host)中存在问题。
8.Ping www.baidu.com,对这个域名执行Ping命,是通过DNS服务器 如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障。
如果上面所列出的所有Ping命令都能正常运行,那么我们的计算机进行本地和远程通信的功能就基本没有问题了。
小伙伴们,你们get到了吗?