1 用协议分析工具学习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.数据发送时是自上而下 , 层层加码;数据接收时是自下而上 , 层层解码 。

推荐阅读