分享
 
 
 

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

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

一、前言

目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道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自上而下,层层加码;数据接收时是自下而上,层层解码。

图6

c. 逻辑上通讯是在同级完成的

垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与其相邻层的接口。为了通信,两个系统必须在各层之间传递数据、指令、地址等信息,通信的逻辑流程与真正的数据流的不同。虽然通信流程垂直通过各层次,但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信。

从图7可以看出,通讯实际上是按垂直方向进行的,但在逻辑上通信是在同级进行的。

图7

2、过程描述

为了更好的分析协议,我们先描述一下上述例子数据的传输步骤。如图8所示:

1)FTP客户端请求TCP用服务器的IP地址建立连接。

2)TCP发送一个连接请求分段到远端的主机,即用上述IP地址发送一份IP数据报。

3) 假如目的主机在本地网络上,那么IP数据报可以直接送到目的主机上。假如目的主机在一个远程网络上,那么就通过IP选路函数来确定位于本地网络上的下一站路由器地址,并让它转发IP数据报。在这两种情况下,IP数据报都是被送到位于本地网络上的一台主机或路由器。

4) 本例是一个以太网,那么发送端主机必须把32位的IP地址变换成48位的以太网地址,该地址也称为MAC地址,它是出厂时写到网卡上的世界唯一的硬件地址。把IP地址翻译到对应的MAC地址是由ARP协议完成的。

5) 如图的虚线所示,ARP发送一份称作ARP请求的以太网数据帧给以太网上的每个主机,这个过程称作广播。ARP请求数据帧中包含目的主机的IP地址,其意思是“假如你是这个IP地址的拥有者,请回答你的硬件地址。”

6) 目的主机的ARP层收到这份广播后,识别出这是发送端在寻问它的IP地址,于是发送一个ARP应答。这个ARP应答包含I P地址及对应的硬件地址。

7) 收到ARP应答后,使ARP进行请求—应答交换的IP数据包现在就可以传送了。

8) 发送IP数据报到目的主机。

图8

3、实例分析

下面通过分析用iris捕捉的包来分析一下TCP/IP的工作过程,为了更清楚的解释数据传送的过程,我们按传输的不同阶段抓了四组数据,分别是查找服务器、建立连接、数据传输和终止连接。每组数据,按下面三步进行解释。

显示数据包

解释该数据包

按层分析该包的头信息

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有