第7章 Ping程序
7.1 引言
“p i n g”这个名字源于声纳定位操作。 P i n g程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。该程序发送一份 I C M P回显请求报文给主机,并等待返回 I C M P回显应答(图6 - 3列出了所有的I C M P报文类型)。
一般来说,如果不能 P i n g到某台主机,那么就不能 Te l n e t或者F T P到那台主机。反过来,如果不能Te l n e t到某台主机,那么通常可以用 P i n g程序来确定问题出在哪里。 P i n g程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。
在本章中,我们将使用 P i n g程序作为诊断工具来深入剖析 I C M P。P i n g还给我们提供了检测I P记录路由和时间戳选项的机会。文献 [Stevens 1990]的第11章提供了P i n g程序的源代码。几年前我们还可以作出这样没有限定的断言,如果不能 P i n g到某台主机,那么就不能Te l n e t或F T P到那台主机。随着I n t e r n e t安全意识的增强,出现了提供访问控制清单的路由器和防火墙,那么像这样没有限定的断言就不再成立了。一台主机的可达性可能不只取决于I P层是否可达,还取决于使用何种协议以及端口号。P i n g程序的运行结果可能显示某台主机不可达,但我们可以用Te l n e t远程登录到该台主机的2 5号端口(邮件服务器)。