by 小熊
基础知识2—Ping命令
1开篇语
今天我们来了解一些ping命令的相关知识,大家应该都听说过这个命令吧,它是internet上一个比较常用的命令,可以探测对方计算机的活动情况,还可以通过数据返回时间简单推测对方的操作系统。甚至在某个时期曾作为一种大众化的攻击方法(你不要笑哟,这是真的)。
然而随着网络安全意识的日益提高,许多网管及个人用户都用防火墙增加了保护措施,防止被陌生人ping,因此许多时候你是ping不通的(并不是对方不在线),更不要说用它攻击了。但作为基础知识,我们还是要适当了解的,更何况我也没说它一点用处都没有。
2作用
Ping命令可以测试计算机名和计算机的IP地址,并根据发送ICMP回应数据包(即ICMP 回应报文)及数据包的返回时间,来校验与远程计算机或本地计算机的连接情况。
默认情况下一个Ping命令发送4个ICMP回应数据包,每个回应数据包包括32字节的数据(周期性的大写字母序列),并且需要注意的是,只有在安装了TCP/IP协议的情况下,才能使用Ping命令。
3运行方法
Win9X-[开始]-[程序]-[MS-DOS]
WIN2K/NT/XP-[开始]-[运行]输入cmd-[命令提示符]
或直接在[运行]中输入Ping命令及相关参数
4结果分析
如果数据包的发送与返回正常,即没有出现Request timed out,则说明主机与目标机能正常通信;
如果出现了Request timed out字样,则可能由于以下原因:
1)目标计算机可能没有打开
2)网络可能不通畅
3)目标计算机可能已经关闭ICMP协议
4)目标计算机安装的防火墙关闭了ICMP协议并禁止其它计算机使用Ping命令探测
5参数
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
不带参
为默认测试,显示与远程计算机或本地计算机的连接情况;
-t
不间断发送数据包,直到用Ctrl+C来停止运行(嘿嘿,这个参数你们喜欢吗?);
-a
将地址解析为计算机名;
示例:C:\>ping -a www.yahoo
Pinging cn.yahoo [192.168.11.21] with 32 bytes of data:
Reply from 192.168.11.21: bytes=32 time<10ms TTL=254
Reply from 192.168.11.21: bytes=32 time<10ms TTL=254
Reply from 192.168.11.21: bytes=32 time<10ms TTL=254
Reply from 192.168.11.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
从上面就可以知道yahoo的计算机名cn.yahoo。
-n count(比如 -n 6)
发送由 count 指定数量的数据包,比如Ping -n IP address ,默认值为 4;
-l length
发送包含由 length 指定数据长
度的数据包,默认值为32字节,最大值为65527字节(由于当向对方一次发送的数据包大于或等于65527时,对方就很有可能挡机,所以微软公司为了
解决这一安全漏洞于是限制了ping的数据包大小)。即使这样,这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
C:\>ping -l 65500 -t 192.168.21.121
Pinging 192.168.21.121 with 65500 bytes of data:
Reply from 192.168.21.121: bytes=65500 time<10ms TTL=254
Reply from 192.168.21.121: bytes=65500 time<10ms TTL=254
………………
这样它就会不停的向192.168.21.121计算机发送大小为65500byt的数据包,如果你只有一台计算机在Ping也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我的朋友曾经就做过这样的试验,同时使用10台以上计算机ping一台Win2000Pro系统的
计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见这两个参数组合的威力非同小可。
-f
在包中发送“不分段”标志,该包将不被路由上的网关分段,是一种快速Ping的方式;
-i ttl
将“生存时间”字段设置为 ttl 指定的数值;
-v tos
将“服务类型”字段设置为 tos 指定的数值;
-r count
在“记录路由”字段中记录发出报文和返回报文的路由(显示路由的IP地址),指定的Count值最小可以是1最大可以是9.在一般情况下你发送的数据包是通过一个个路由才到达对方的,
但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,
也就是说你只能跟踪到9个路由.
以下为示例:
C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 ->
202.107.210.214 ->
61.153.112.70 ->
61.153.112.89 ->
202.96.105.149 ->
202.96.105.97 ->
202.96.105.101 ->
202.96.105.150 ->
61.153.112.90
Ping statistics for 202.96.105.101:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 10ms, Average = 10ms
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。
-s count
指定当使用-r时用于每一轮路由的时间;
-j computer-list
经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算
机(松散的源路由)。允许的最大 IP 地址数目是 9;
-k computer-list
经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机(严格源路由)。允许的最大 IP 地址数目是 9;
-w timeout
以毫秒为单位指定超时间隔,默认为1000ms;
destination-list
指定要校验连接的远程计算机.
注:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,
而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Wi
tcpip协议是internet最基本的协议ndows系列的系统可以通过修改注册表以下键值实现:
[HKEY_LOCAL_MACHINE\sys tem\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
by 小熊
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论