使用Win 安全策略禁止Ping和指定端口

 

第二篇:ping指令应用

Ping

Ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最 常用的命令。Ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。

如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器配置不正确,IP地址不正确。如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。

命令格式:

ping IP地址或主机名 [-t] [-a] [-n count] [-l size]

参数含义:

-t不停地向目标主机发送数据;

-a 以IP地址格式来显示目标主机的网络地址 ;

-n count 指定要Ping多少次,具体次数由count来指定 ;

-l size 指定发送到目标主机的数据包的大小。

例如当您的机器不能访问Internet,首先您想确认是否是本地局域网的故障。假定局域网的代理服务器IP地址为202.168.0.1,您可以使用Ping 202.168.0.1命令查看本机是否和代理服务器联通。又如,测试本机的网卡是否正确安装的常用命令是ping 127.0.0.1。

Tracert

Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。

命令格式:

tracert IP地址或主机名 [-d][-h maximumhops][-j host_list] [-w timeout]

参数含义:

-d 不解析目标主机的名字;

-h maximum_hops 指定搜索到目标地址的最大跳跃数;

-j host_list 按照主机列表中的地址释放源路由;

-w timeout 指定超时时间间隔,程序默认的时间单位是毫秒。

例如大家想要了解自己的计算机与目标主机.cn之间详细的传输路径信息,可以在MS-DOS方式输入tracert .cn。

如果我们在Tracert命令后面加上一些参数,还可以检测到其他更详细的信息,例如使用参数-d,可以指定程序在跟踪主机的路径信息时,同时也解析目标主机的域名。

Netstat

Netstat命令可以帮助网络管理员了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以统计目前总共有哪些网络连接正在运行。

利用命令参数,命令可以显示所有协议的使用状态,这些协议包括TCP协议、UDP协议以及IP协议等,另外还可以选择特定的协议并查看其具体信息,还能显示所有主机的端口号以及当前主机的详细路由信息。

命令格式:

netstat [-r] [-s] [-n] [-a]

参数含义:

-r 显示本机路由表的内容;

-s 显示每个协议的使用状态(包括TCP协议、UDP协议、IP协议);

-n 以数字表格形式显示地址和端口;

-a 显示所有主机的端口号。

Winipcfg

Winipcfg命令以窗口的形式显示IP协议的具体配置信息,命令可以显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机名、DNS服务器、节点类型等相关信息。其中网络适配器的物理地址在检测网络错误时非常有用。

命令格式:

winipcfg [/?] [/all]

参数含义:

/all 显示所有的有关IP地址的配置信息;

/batch [file] 将命令结果写入指定文件;

/renew_ all 重试所有网络适配器;

/release_all 释放所有网络适配器;

/renew N 复位网络适配器 N;

/release N 释放网络适配器 N。

在Microsoft的Windows 95及其以后的操作系统中,都可以运行以上命令

对于Windows下ping指令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。

现在我就参照ping指令的辅助说明来给大家讲我使用ping时会用到的技巧,ping只有在安装了TCP/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

Options:

-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.

不停的ping地方主机,直到你按下Control-C。

此功能?有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。 -a Resolve addresses to hostnames.

解析电脑NetBios名。

例:C:\>ping -a 192.168.1.21

Pinging [192.168.1.21] with 32 bytes of data:

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Reply from 192.168.1.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

从上面就可以知道IP为192.168.1.21的电脑NetBios名为。 -n count Number of echo requests to send.

发送count指定的Echo数据包数。

在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网路速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下?知:

C:\>ping -n 50 202.103.96.68

Pinging 202.103.96.68 with 32 bytes of data:

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Request timed out.

………………

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Ping statistics for 202.103.96.68:

Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds:

Minimum = 40ms, Maximum = 51ms, Average = 46ms

从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。

-l size Send buffer size.

定义echo数据包大小。

在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏 洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对

方就很有可能当机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们 就可以通过配合-t参数来实现一个带有攻击性的指令:(以下介绍带有危险性,只用于试验,请勿轻易施于别人电脑上,否则后果自负) C:\>ping -l 65500 -t 192.168.1.21

Pinging 192.168.1.21 with 65500 bytes of data:

Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254

Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254

………………

这样它就会不停的向192.168.1.21电脑发送大小为65500byt的数据包,如果你只有一台电脑也许?有什么效果,但如果有很多台电脑那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上电脑ping一台Win200 0Pro系统的电脑时,不到5分钟对方的网路就已经完全瘫痪,网路严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。

-f Set Don't Fragment flag in packet.

在数据包中发送“不要分段”标志。

在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。

-i TTL Time To Live.

指定TTL值在对方的系统里停留的时间。

此参数同样是帮助你检查网路运转情况的。

-v TOS Type Of Service.

将“服务类型”字段设置为tos指定的值。

-r count Record route for count hops.

在“记录路由”字段中记录伝出和返回数据包的路由。

在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了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 Timestamp for count hops.

指定count指定的跳点数的时间戳。

此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。

-j host-list Loose source route along host-list.

利用computer-list指定的电脑列表路由数据包。连续电脑可以被中间关网?分隔(路由稀疏源)IP允许的最大?量为9。

-k host-list Strict source route along host-list.

利用computer-list指定的电脑列表路由数据包。连续电脑不能被中间网?分隔(路由?格源)IP允许的最大数量为9。

-w timeout Timeout in milliseconds to wait for each reply.

指定超时间隔,单位为毫秒。

此参数有什么其他技巧。

ping指令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系

列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而

UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系?可以通过修改注?表以下键值实现:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

"DefaultTTL"=dword:000000ff

255---FF

128---80

64----40

32----20

ping命令的完整格式如下:

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j -Host list] | [-k Host-list] [-w timeout] destination-list

ping -t IP地址 :

ping一个主机系统时不停地运行,知道Ctrl+C才停止。

ping -a IP地址 :

解析主机的NetBios名。

ping -n count :

定义用来测试所发出的测试包的个数,缺省值为4。通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送20个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过执行带有这个参数的命令获知。

ping -l length :

定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping发送的数据包大小为32byt,也可以自己定义,但有一个限制,就是最大只能发送65500byt,超过这个数时,对方就很有可能因接收的数据包太大而死机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。

ping -f :

在数据包中发送“不要分段”标志,一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。

ping -i ttl :

指定TTL值在对方的系统里停留的时间,此参数同样是帮助你检查网络运转情况的。

ping -v tos :

将“服务类型”字段设置为 “tos” 指定的值。

ping -r count :

在“记录路由”字段中记录传出和返回数据包的路由。一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由。

ping -s count :

指定“count” 指定的跃点数的时间戳,此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。

ping -j host-list:

利用“ computer-list” 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔IP 允许的最大数量为 9。

ping -k host-list :

利用 “computer-list” 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔IP 允许的最大数量为 9。

ping -w timeout :

指定超时间隔,单位为毫秒。

destination-list ——是指要测试的主机名或IP地址

下面是一些例子:

-t

C:\WINDOWS>ping 192.168.1.188 -t

Pinging 192.168.1.188 with 32 bytes of data:

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Ping statistics for 192.168.1.188:

Packets: Sent = 8, Received = 8, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms Control-C

-a

C:\WINDOWS>ping -a 192.168.1.100

Pinging 000 [192.168.1.100] with 32 bytes of data:

Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Reply from 192.168.1.100: bytes=32 time<10ms TTL=128

Ping statistics for 192.168.1.100:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms 可以得知:

ip 为192.168.1.100的计算机,NETBIOS名为000

-n

C:\WINDOWS>ping -n 10 192.168.1.188

Pinging 192.168.1.188 with 32 bytes of data:

Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64

Ping statistics for 192.168.1.188:

Packets: Sent = 10, Received = 10, Lost = 0 (0% loss) Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

向IP为192.168.1.188的计算机,发送10个数据包,发送10个,返回10个,没有丢包。

-l

C:\WINDOWS>ping -l 32768 -n 10 192.168.1.188

Pinging 192.168.1.188 with 32768 bytes of data:

Request timed out.

Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64

Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64

Ping statistics for 192.168.1.188:

Packets: Sent = 10, Received = 9, Lost = 1 (10% loss),

Approximate round trip times in milli-seconds:

Minimum = 9ms, Maximum = 12ms, Average = 9ms

向IP为192.168.1.188的计算机,发送大小为32768byt的数据包10个,发送10个,返回9个,丢失1个。返回数据包最短时间为9ms,最长时间为12ms。

Ping命令的应用

(1)、测试网络的通畅

我们知道可以用ping命令来测试一下网络是否通畅,这在局域网的维护中经常用到,方法很简单,只需要在DOS或Windows的开始菜单下的“运行”子项中用ping命令加上所要测试的目标计算机的IP地址或主机名即可(目标计算机要与你所运行ping命令的计算机在同一网络或通过电话线或其它专线方式已连接成一个网络),其它参数可全不加。如要测试台IP地址为196.168.0.23的工作站与服务器是否已连网成功,就可以在服务器上运行:

ping -a 196.168.0.23 即可,如果工作站上TCP/IP协议工作正常,即会以DOS屏幕方式显示如下所示的信息:

C:\WINDOWS>ping -a 192.168.0.23

Pinging 9.localdomain [192.168.0.23] with 32 bytes of data:

Reply from 192.168.0.23: bytes=32 time<10ms TTL=128

Reply from 192.168.0.23: bytes=32 time<10ms TTL=128

Reply from 192.168.0.23: bytes=32 time<10ms TTL=128

Reply from 192.168.0.23: bytes=32 time<10ms TTL=128

Ping statistics for 192.168.0.23:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

从上面我们就可以看出目标计算机与服务器连接成功,TCP/IP协议工作正常,因为加了“-a”这个参数所以还可以知道IP为196.168.0.23的计算机的NetBIOS名为9。

下面我们来PING IP为192.168.0.1的计算机,如果网络未连成功则显示如下错误信息: C:\WINDOWS>ping 192.168.0.1

Pinging 192.168.0.1 with 32 bytes of data:

Request timed out.

Request timed out.

Request timed out.

Request timed out.

Ping statistics for 192.168.0.1:

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

为什么不管网络是否连通在提示信息中都会有重复四次一样的信息呢(如上的

“Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64”和

“Request timed out”),那是因为一般系统默认每次用ping测试时是发送四个数据包,这些提示就是告诉你所发送的四个数据包的发送情况。

(2)、获取计算机的IP地址

利用ping这个工具我们可以获取对方计算机的IP地址,特别是在局域网中,我们经常是利用NT或WIN2K的DHCP动态IP地址服务自动为各工作站分配动态IP地址,这时当然我们要知道所要测试的计算机的NETBIOS名,也即我们通常在“网络邻居”中看到的“计算机名”。使用ping命令时我们只要用ping命令加上目标计算机名即可,如果网络连接正常,则会显示所ping的这台机的动态IP地址。其实我们完全可以在互联网使用,以获取对方的动态IP地址,这一点对于黑客来说是比较有用的,当然首先的一点就是你先要知道对方的计算机名。

例如:

C:\WINDOWS>ping www.

Pinging www. [218.26.153.214] with 32 bytes of data:

Request timed out.

Request timed out.

Request timed out.

Request timed out.

Ping statistics for 218.26.153.214:

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

ping www.,得到www.的计算机,IP为218.26.153.214。

ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现。