IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

用协议分析工具学习TCP/IP(1)

2008年04月25日
中国协议分析网/
阅读提示:如果想在网络上有更多的发展,必须要把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.数据发送时是自上而下,层层加码;数据接收时是自下而上,层层解码。
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图6所示。TCP传给IP的数据单元称作TCP报文段或简称为TCP段。I P传给网络接口层的数据单元称作IP数据报。 通过以太网传输的比特流称作帧(Frame)。
数据发送时是按照图6自上而下,层层加码;数据接收时是自下而上,层层解码。
发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

以不变应万变 网络虚拟化应对园区网新挑战
以不变应万变 网络虚拟化应对园区网新挑战Forrester Research的分析师Robert Whiteley认为: “十年以来,虚拟化技术与网络...
OpenShift加入更多新元素 友好面对开发者
OpenShift加入更多新元素 友好面对开发者通过网络进行程序提供的服务称之为SaaS(Software as a Service),而将服务器平台...

本类热点