一 用协议分析工具学习TCP/IP


一、前言
目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道TCP/IP协议是网络的基础,是Internet的语言,可以说没有TCP/IP协议就没有互联网的今天 。目前号称搞网的人非常多,许多人就是从一把夹线钳,一个测线器联网开始接触网络的,假如只是联网玩玩,知道几个Ping之类的命令就行了,假如想在网络上有更多的发展不管是黑道还是红道,必须要把TCP/IP协议搞的非常明白 。
学习过TCP/IP协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了 。本文将介绍一种直观的学习方法,利用协议分析工具学习TCP/IP,在学习的过程中能直观的看到数据的具体传输过程 。
为了初学者更轻易理解,本文将搭建一个最简单的网络环境,不包含子网 。
二、试验环境
1、网络环境
如图1所示
图1
为了表述方便,下文中208号机即指地址为192.168.113.208的计算机,1号机指地址为192.168.113.1的计算机 。
2、操作系统
两台机器都为windows 2000 ,1号机机器作为服务器,安装FTP服务
3、协议分析工具
Windows环境下常用的工具有:Sniffer Pro、Natxray、Iris以及windows 2000自带的网络监视器等 。本文选用Iris作为协议分析工具 。
在客户机208号机安装IRIS软件 。
三、测试过程
1、测试例子:将1号机计算机中的一个文件通过FTP下载到208号机中 。
2、IRIS的设置 。
由于IRIS具有网络监听的功能,假如网络环境中还有其它的机器将抓很多别的数据包,这样为学习带来诸多不便,为了清楚地看清楚上述例子的传输过程首先将IRIS设置为只抓208号机和1号机之间的数据包 。设置过程如下:
1)用热键CTRL B弹出如图所示的地址表,在表中填写机器的IP地址,为了对抓的包看得更清楚不要添主机的名字(name),设置好后关闭此窗口 。
 

图2
2)用热键CTRL E弹出如图所示过滤设置,选择左栏“IP address”,右栏按下图将address book中的地址拽到下面,设置好后确定,这样就这抓这两台计算机之间的包 。
 

图3
3、抓包
按下IRIS工具栏中 开始按钮 。在浏览器中输入:FTP://192.168.113.1,找到要下载的文件 ,鼠标右键该文件,在弹出的菜单中选择“复制到文件夹”开始下载,下载完后在IRIS工具栏中按 按钮停止抓包 。图4显示的就是FTP的整个过程,下面我们将具体分析这个过程 。
图4
说明:为了能抓到ARP协议的包,在WINDOWS 2000 中运行arp –d 清除arp缓存 。
四、过程分析
1、TCP/IP的基本原理
本文的重点虽然是根据实例来解析TCP/IP,但要讲明白下面的过程必须简要讲一下TCP/IP的基本原理 。
A.网络是分层的,每一层分别负责不同的通信功能 。
TCP/IP通常被认为是一个四层协议系统,TCP/IP协议族是一组不同的协议组合在一起构成的协议族 。尽管通常称该协议族为TCP/IP,但TCP和IP只是其中的两种协议而已,如表1所示 。每一层负责不同的功能:
 
表1
分层的概念说起来非常简单,但在实际的应用中非常的重要,在进行网络设置和排除故障时对网络层次理解得很透,将对工作有很大的帮助 。例如:设置路由是网络层IP协议的事,要查找MAC地址是链路层ARP的事,常用的Ping命令由ICMP协议来做的 。
图5显示了各层协议的关系,理解它们之间的关系对下面的协议分析非常重要 。
 

图5
b.数据发送时是自上而下,层层加码;数据接收时是自下而上,层层解码 。

推荐阅读