ping命令用法以及判断目标主机操作系统

ping命令用法以及判断目标主机操作系统

1. ping命令

当给某个IP地址发送一个数据包时,对方就要返回一个同样大小的数据包,根据返回的数据包可以确定目标主机的存在,也可以初步判断目标主机的操作系统等,利用它可以检查网络是否畅通。
计算机“开始” - “运行” ,在弹出的对话框输入cmd,进入命令解释程序。

1.1 ping 命令格式

  • ping 127.0.0.1
    测试本机的TCP/IP协议,若不通,表示TCP/IP协议的安装或者运行存在某些问题。


      ping命令用法以及判断目标主机操作系统 1.1 ping 127.0.0.1.jpg
  • ping 192.168.1.3(本机IP地址)
    测试本机网络配置,若没有应答,说明本地连接IP地址信息配置有问题。
  • ping 192.168.1.5(局域网里其他主机IP地址)
    这个命令经过网卡及网线到其他计算机,再返回,收到回复应答说明本地网络运行正常。如果收到0个回送应答,可能子网掩码不正确或者网卡配置存在其他问题。
  • ping www.baidu.com
    对域名执行ping命令,若无返回应答,可能是DNS服务器的IP地址配置不正确或者DNS服务器有故障。

1.2 ping的其他一些用法

1.2.1 一直ping下去
ping 192.168.1.1 -t  加大包ping才能看出问题,那么这个时候我们应该输入ping 网址或IP -t -l 1000再回车
ping 192.168.1.1 -t -l 1000   #表示连续ping 1000个字节、
ping 192.168.1.1 -t -n 100   #表示让系统ping完100个就结束
ping 192.168.1.1 -r 9           # -r 取值1-9,最大为9, 查询一下经过的路由数

ping命令用法以及判断目标主机操作系统

1.3 使用ping命令查看目标主机操作系统

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:UsersAdministrator>ping 192.168.5.1
正在 Ping 192.168.5.1 具有 32 字节的数据:
来自 192.168.5.1 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.5.1 的回复: 字节=32 时间=2ms TTL=64
来自 192.168.5.1 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.5.1 的回复: 字节=32 时间=1ms TTL=64

192.168.5.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 2ms,平均 = 1ms

C:UsersAdministrator>

关于ping 命令中的 TTL

TTL(Time To Live) 当我们在使用ping命令时,返回结果里会带一个TTL值。这个东西的含义其实就是Time To Live,指的是报文在网络中能够‘存活’的限制。以前这个限制方式是设定一个时间(Time To Live中的Time就是这样来的),当报文在网络中转发时,时间超过这个限制,最后一个收到报文的‘路由点’就会把它扔掉,而不继续转发。后来把时间限制改为了跳数限制,就是当报文在网络中转发时,每经过一个‘路由点‘,就把预先设定的这个TTL数值减1,直到最后TTL=1时报文就被扔掉,不向下转发。

路由点:我这里是指完成路由功能的机器,因为并不是只有路由器才可以完成路由转发功能,比如主机可以配置路由转发。

TTL每经过一个ip子层就减少1,TTL 字段值可以帮助我们识别操作系统类型:

UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32

但有些情况下有所特殊:

LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64

FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255

Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32

Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128

这样,我们就可以通过这种方法来辨别目标主机操作系统:

操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
上一篇:Java线程运行轨迹-代码追踪与定位


下一篇:如何用代理平台解决微服务的一些痛点