六、扫描实例
下面我们再举个ping的实例,测试某台计算机是否通,最常用的命令就是ping命令。Ping 一台计算机,出现如图18所示界面就是通,出现如图19所示界面就是不通,不通有两种情况,一是该计算机不存在或没接网线,二是该计算机安装了防火墙并设置为不允许ping。如何区别这两种情况呢?下面还是利用iris跟踪上述情况。

图18

图19
如图20是ping通的情况。
如图21是ping不通该计算机不存在的情况。从图可以看出ARP请求没有回应。
如图22是ping不通,该计算机存在但安装了防火墙的情况。从图可以看出ARP请求有回应。但ICMP请求没回应。
从分析可以看出虽然后两种情况的表面现象是一样的,但实质确是截然相反的。通过头信息可以清楚的看出PING是ICMP协议来完成的,通讯过程是在第三层完成的,没有用到第四层的TCP协议。

图20(可点击放大)

图21(可点击放大)

图22
七、后记
本文不是个教程,许多问题都没有涉及到,比如TCP重发、IP分解、路由等,只是提出个学习思路,希望能起到抛砖引玉的作用。TCP/IP协议族是非常复杂的,但只要理解了还是不难学的。最后向感兴趣的朋友提个问题:分别telnet三台机器,一台正常23端口开放,一台网是通的但23端口没开放,另外一台是不存在的。用我们学过的方法跟踪一下,比较三个的不同。其实这就是用TCP扫描判断对方机器是否在线的一种方法。