网友提问:本人经常用ping命令和tracert命令了解网络中主机的状态,看其是否运行正常。但是最近公司网管在路由器和服务器上设置了策略,将icmp协议彻底禁止使用了。众所周知由于ping和tracert命令用到是icmp协议。所以在这种情况下我就没法使用上述两个命令检测网络中主机状态了。请问有没有其他工具可以帮我解决此问题,或者将ping和tracert命令使用的协议从icmp更改到tcp或udp协议。急切等待it168高手的回答。
【IT168 网友解答】从传统上讲ping命令和tracert命令都是使用ICMP协议来检测网络中的存活主机以及路由命令。所以说当服务器安装了防火墙或者在路由器上禁止了ICMP协议,那么我们在计算机上使用ping和tracert命令就无法收到满意的回复信息。这也是上面那位网友所遇到的棘手问题。在这种情况下我们如何检测服务器是否在线或者网络中某台主机是否运转正常呢?
实际上我们有很多种方法来解决上面网友所遇到的问题,最简单的就是在交换机上而不是计算机上来通过tracert检测。因为交换机上,特别是CISCO设备中traceroute命令是使用UDP协议的,所以即使ICMP协议被禁止使用依然可以通过UPD协议探询路由信息,反馈回主机状态。
另外我们在unix或linux系统中也是可以使用tracert命令来检测网络中主机状态的,和cisco中使用的协议一样,在linux和UNIX中tracert是通过udp协议运转的。
当然对于我们大多数用户来说,一没有路由器交换机的管理权限,二没有安装linux或unix操作系统。那么如何解决ICMP协议被禁止使用,并通过tracert探询主机路由和当前状态呢?在这里给大家推荐一个小工具,名字叫tracetcp。实际上他是一个tracert工具,但是使用的不是ICMP协议而是TCP协议。所以即使ICMP协议被禁止使用,我们也可以通过tracetcp这个小工具完成tracert命令。
一,准备工作:
虽然tracetcp是一个绿色工具,我们不用安装。而且总共只有几百KB的容量。但是由于该工具需要用到类似于sniffer的功能,所以需要winpcap的支持。如果没有安装winpcap的话,在运行tracetcp时会提示丢失packet.dll和wincap.dll文件。
WinPcap小档案:
软件版本: V3.1
软件语言:英文
软件类型:免费软件
软件大小:456 KB
适用平台:win2000/xp/2003
下载地址:http://count.skycn.com/softdownload.php?id=11534&url=http://jsyz.driversky.com/down/WinPcap_3_1.exe
第一步:下载winpcap程序并双击进行安装。(如图1)
![]() |
| 图1(点击看大图) |
第二步:同意winpcap的安装许可协议。(如图2)
![]() |
| 图2(点击看大图) |
第三步:复制必须文件到本地硬盘。(如图3)
![]() |
| 图3(点击看大图) |
第四步:完成所有安装工作,winpcap已经进驻我们的操作系统点finish按钮结束安装工作。(如图4)
![]() |
| 图4(点击看大图) |
| 第1页:准备工作 | 第2页:使用tracetcp探测网络主机 |
| 第3页:更多附加功能 |