1.4.2 测试物理网络的ping命令
ping命令是测试网络连接、信息发送和接收状况的实用型工具,是一个系统内置的探测工具。对于一个工作在网络上的管理员或黑客,ping命令一般是第一个掌握的命令行命令,它所利用的原理是:网络上的主机都有唯一确定的IP地址,用户给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包。根据返回的数据包,用户可以确定目标主机是否存在,并初步判断目标主机的操作系统等。通过在命令提示符下输入“ping /?”命令,即可查看ping命令的详细说明,如图1.4.2-1所示。
如图1.4.2-1所示,该命令常用的参数有-t、-a、-n count、-l size,它们的含义如下:
-t:不断使用ping命令发送回显请求信息到目的地。要中断并退出ping,只需要按下“Ctrl+C”组合键。初级黑客常常喜欢使用这个参数对目标计算机进行攻击。
-a:指定对目的地IP地址进行反向名称解析。如解析成功,将显示相应的主机名。
图 1.4.2-1
-n count:指定发送回显请求消息的次数,默认值为4。
-l size:指定发送的回显请求消息中“数据”字段的长度(以字节表示)。默认值为32。size的最大值与操作系统和网络环境有关。
典型示例如下。
(1)检测本机网卡驱动程序以及TCP/IP是否正常
若想检测本机的网卡驱动程序以及TCP/IP是否正常,以百度地址为例,只需要在命令提示符窗口中输入“ping www.baidu.com”命令并执行即可,如图1.4.2-2所示。
图 1.4.2-2
(2)多参数合用探测
在命令提示符窗口中输入“ping -a -t www.baidu.com”命令,即可对www.baidu.com进行多参数合用探测,如图1.4.2-3所示。通过反馈信息可得知上述命令中的参数“-a”检测出了该机器的NetBios名为www.a.shifen.com;参数“-t”指示不断向该机发送数据包。
图 1.4.2-3
通常,ping命令会反馈如下两种结果:
1)请求超时。表示没有收到网络设备返回的响应数据包,也就是说网络不通。出现这个结果的原因很复杂,通常有对方装有防火墙并禁止ICMP回显、对方已经关机、本机的IP设置不正确或网关设置错误、网线不通等几种可能。
2)来自192.168.1.255的回复:字节=32时间<1ms TTL=64。表示网络畅通,探测使用的数据包大小为32字节,响应时间小于1ms。TTL(Time To Live,存活时间)是指一个数据包在网络中的生存期,网管可通过它了解网络环境,辅助维护工作,通过TTL值可以粗略判断出对方计算机使用的操作系统类型,以及本机到达目标主机所经过的路由数。
当检查本机的网络连通情况时,通常会使用ping命令向目标主机(如本机)发送ICMP数据包。在本机中生成ICMP数据包时,系统就会给这个ICMP数据包初始化一个TTL值,如Windows 7就会生成“64”,将这个ICMP数据包发送出去,遇到网络路由设备转发时,TTL值就会被减去“1”,最后到达目标主机,如果在转发过程中TTL值变成“0”,路由设备就会丢弃这个ICMP数据包。
TTL值在网络应用中很有用,可以根据返回信息中的TTL值来推断发送的数据包到达目标主机所经过的路由数。路由发生在OSI网络参考模型中的第三层即网络层。
提示
对于不同的操作系统,它的TTL值也是不同的。默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的值为32,Windows 7系统的TTL值为64,UNIX主机的TTL值为255。