Ping命令
1.Ping是Windows、Unix和Linux系统下的一个命令,检查网络是否通畅或者网络连接速度的一个命令,帮助我们分析和判定网络故障。
2.原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
3.ping就是对一个网址发送测试数据包,看对方网址是否有响应并统计响应时间,以此测试网络。
应用格式:Ping [参数] IP地址/域名
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list
1).-t 不停的ping对方主机,直到你按下Control-C。例:ping -t 192.168.129.93
2).-a 解析计算机NetBios名(主机名)。例:ping -a 192.168.129.93
3).-n 指定发送数据包个数,默认发送四个。例:ping -n 10 192.168.129.93 发送十个数据包
4).-l 定义发送的数据包大小,一般默认为32byte。最大限制为65500byte。例:ping -l 650 192.168.129.93
5).-f 在数据包中发送“不要分段”标志。一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
6).-i 指定TTL的值。TTL的作用是限制IP数据包在计算机网络中的存在的时间。TTL的最大值是255,推荐值是64。
7).-r 记录传出和返回数据包的路由,设定你想探测经过的路由的个数,最大限制为9个,即取值范围为1-9。
例:ping -r 9 -n 1 192.168.129.93 发送一个数据包,最多记录9个路由
8).-s 指定跃点数的时间戳。跟-r参数差不多,但它不记录数据包返回所经过的路由,且最多只记录4个,取值范围为1-4。
9).-j 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源),IP允许的最大数量为9。
10).-k 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源),IP允许的最大数量为9。
11).-w 指定超时间隔,单位为毫秒。ping -w 5 192.168.129.93
12).在win7中,-4 强行使用IPv4;-6 强行使用IPv6
注:
1).攻击性命令:ping -l 65500 -t 192.168.1.21:不停的向192.168.1.21计算机发送大小为65500byte的数据包.
2).网络检查:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。
3).判断操作系统:从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。 一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间。TTL=32表示操作系统可能是win98;如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix。 当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
[HKEY_LOCAL_MACHINE\sys tem\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
4. 怎样使用Ping这命令来测试网络连通呢?
连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。
使用Ping检查连通性有六个步骤:
1).使用ipconfig /all观察本地网络设置是否正确;
2).Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;
3).Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;
4).Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)
5).Ping本地DNS地址,这样做是为了检查本地DNS服务器是否工作正常。
6).Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常[6] 。
5.反馈信息
Request timed out
a.对方已关机:比如在上图中主机A中PING 192.168.0.7,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。
b.对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。
c.对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)
怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
d.错误设置IP地址
正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:
A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。
B.主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。
Destination host Unreachable
对方与自己不在同一网段内,而自己又未设置默认的路由,或者网络上根本没有这个地址,比如上例中A机中不设定默认的路由,运行Ping 192.168.1.4就会出现“Destination host Unreachable”。
网线出了故障
这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
Bad IP address
这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。
Source quench received
这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。
Unknown host——不知名主机
这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
No answer——无响应
这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。
Ping 127.0.0.1:127.0.0.1是本地循环地址
如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。
no rout to host:网卡工作不正常
transmit failed,error code:10043网卡驱动不正常
unknown host name:DNS配置不正确
来源:CSDN
作者:飞舞吧蒲公英
链接:https://blog.csdn.net/Ring1303/article/details/81127533