icmp就是所谓的inte.net控制报文协议(inte.net control message protocol),在网络中,一般用它来传递差错报文以及其他应注意的信息。 icmp一般被认为是和ip协议同一层的协议,imcp报文通常被ip层或者更高层的协议(如:tcp或者udp)使用,icmp对于互联网以及其他基于ip协议的网络的正常运行起着非常重要的作用。有许多重要的网络程序都是基于icmp协议上的,最为著名如ping和tracert等。本文就来介绍用visual c#实现基于icmp协议重要的网络命令ping的方法。
ping命令是可以说是一个"跨平台"程序,这是因为ping命令不仅存在windows系统上,在unix系统上也有ping命令,其实对其他只要是支持网络的操作系统,一般也都存在该命令。ping命令的主要作用是检测网络上主机的状态。要是在几年前,我们还可以下如此断言,如果不能ping通某台主机,那么也就无法te.net或者ftp到这台主机,但随着互联网的安全意识的增加,出现了访问控制清单的路由器和防火墙,由于icmp报文是在ip数据包中被传输的,而到达一台主机不仅取决于ip层是否到达,还取决于使用何种协议和端口。譬如金山公司的金山网镖就可以禁止其他机器ping通这台主机。所以在现在的情况下,即时ping不通某台机器,但也有可能ftp登陆到这台机器,或者通过http来浏览这台机器上的web页面。
一.ping命令简介
首先进入windows系统中的命令提示符,输入"ping/?"后,单击回车键,您就可以了解ping命令的各种参数的使用方法。最为常见的使用方法是"ping 远程计算机名称(或者远程计算机的ip地址)",如果在ping命令的返回字符中有"reply from",说明此主机在线,具体如图01: