用协议分析工具学习TCP

上传人:平*** 文档编号:10587208 上传时间:2017-10-09 格式:DOC 页数:19 大小:582.03KB
返回 下载 相关 举报
用协议分析工具学习TCP_第1页
第1页 / 共19页
用协议分析工具学习TCP_第2页
第2页 / 共19页
用协议分析工具学习TCP_第3页
第3页 / 共19页
用协议分析工具学习TCP_第4页
第4页 / 共19页
用协议分析工具学习TCP_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《用协议分析工具学习TCP》由会员分享,可在线阅读,更多相关《用协议分析工具学习TCP(19页珍藏版)》请在金锄头文库上搜索。

1、用协议分析工具学习 TCP/IP一、前言 目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道 TCP/IP 协议是网络的基础,是 Internet 的语言,可以说没有 TCP/IP 协议就没有互联网的今天。目前号称搞网的人非常多,许多人就是从一把夹线钳,一个测线器联网开始接触网络的,如果只是联网玩玩,知道几个 Ping 之类的命令就行了,如果想在网络上有更多的发展不管是黑道还是红道,必须要把 TCP/IP 协议搞的非常明白。 学习过 TCP/IP 协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了。本文将介绍一种直观的学习方法,利用协议分析工具学习

2、TCP/IP,在学习的过程中能直观的看到数据的具体传输过程。 为了初学者更容易理解,本文将搭建一个最简单的网络环境,不包含子网。 二、试验环境 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 作为

3、协议分析工具。 在客户机 208 号机安装 IRIS 软件。 三、测试过程 1、测试例子将 1 号机计算机中的一个文件通过 FTP 下载到 208 号机中。 2、IRIS 的设置 由于 IRIS 具有网络监听的功能,如果网络环境中还有其它的机器将抓很多别的数据包,这样为学习带来诸多不便,为了清楚地看清楚上述例子的传输过程首先将 IRIS 设置为只抓 208 号机和 1 号机之间的数据包。设置过程如下: 1)用热键 CTRL+B 弹出如图所示的地址表,在表中填写机器的 IP 地址,为了对抓的包看得更清楚不要添主机的名字(name),设置好后关闭此窗口。 2)用热键 CTRL+E 弹出如图所示过滤

4、设置,选择左栏“IP address”,右栏按下图将 address book 中的地址拽到下面,设置好后确定,这样就这抓这两台计算机之间的包。3、抓包 按下 IRIS 工具栏中 开始按钮。在浏览器中输入:FTP:/192.168.113.1,找到要下载的文件 ,鼠标右键该文件,在弹出的菜单中选择“复制到文件夹”开始下载,下载完后在 IRIS 工具栏中按 按钮停止抓包。图 4 显示的就是 FTP 的整个过程,下面我们将详细分析这个过程.说明:为了能抓到 ARP 协议的包,在 WINDOWS 2000 中运行 arpd 清除 arp 缓存。四、过程分析 1、TCP/IP 的基本原理 本文的重点虽

5、然是根据实例来解析 TCP/IP,但要讲明白下面的过程必须简要讲一下 TCP/IP 的基本原理。 1)网络是分层的,每一层分别负责不同的通信功能。 TCP/IP 通常被认为是一个四层协议系统,TCP/IP 协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为 TCP/IP,但 TCP 和IP 只是其中的两种协议而已,如表 1 所示。每一层负责不同的功能: TCP/IP 层描述 主要协议 主要功能 应用层 HTTP、Telnet、FTP 和 E-mail 等 负责把数据传输到传输层或接收从传输层返回的数据 传输层 TCP 和 UPD 主要为两台主机上的应用程序提供端到端的通信,TC

6、P 为两台主机提供可靠的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。UPD 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据能到达另一端。 网络层 ICMP、IP 和 IGMP 有时称作互联网层,主要为数据包选择路由,其中 IP 是 TCP/IP 协议族中最为核心的协议。所有的 TCP、UPD、ICMP 及IGMP 数据协议都以 IP 数据包格式传输。 链路层 ARP、RARP 和设备驱动程序及接口卡 发送时将 IP 包作为帧发送;接收时把接收到的位组装

7、成帧;提供链路管理、错误检测等。 分层的概念说起来非常简单,但在实际的应用中非常的重要,在进行网络设置和排除故障时对网络层次理解得很透,将对工作有很大的帮助。例如:设置路由是网络层 IP 协议的事,要查找 MAC 地址是链路层 ARP 的事,常用的 Ping 命令由 ICMP 协议来做的。 图 5 显示了各层协议的关系,理解它们之间的关系对下面的协议分析非常重要。 2)数据发送时是自上而下,层层加码;数据接收时是自下而上,层层解码。 当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部

8、信息),该过程如图 6 所示。TCP 传给 IP 的数据单元称作 TCP 报文段或简称为 TCP 段。I P 传给网络接口层的数据单元称作 IP 数据报。 通过以太网传输的比特流称作帧(Frame)。 数据发送时是按照图 6 自上而下,层层加码;数据接收时是自下而上,层层解码.3)逻辑上通讯是在同级完成的 垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与其相邻层的接口。为了通信,两个系统必须在各层之间传递数据、指令、地址等信息,通信的逻辑流程与真正的数据流的不同。虽然通信流程垂直通过各层次,但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信。 从图 7 可以看出,通讯

9、实际上是按垂直方向进行的,但在逻辑上通信是在同级进行的。 2、过程描述 为了更好的分析协议,我们先描述一下上述例子数据的传输步骤。如图 8 所示: 1)FTP 客户端请求 TCP 用服务器的 IP 地址建立连接。 2)TCP 发送一个连接请求分段到远端的主机,即用上述 IP 地址发送一份 IP 数据报。 3) 如果目的主机在本地网络上,那么 IP 数据报可以直接送到目的主机上。如果目的主机在一个远程网络上,那么就通过 IP 选路函数来确定位于本地网络上的下一站路由器地址,并让它转发 IP 数据报。在这两种情况下,IP 数据报都是被送到位于本地网络上的一台主机或路由器。 4) 本例是一个以太网,

10、那么发送端主机必须把 32 位的 IP 地址变换成 48 位的以太网地址,该地址也称为 MAC 地址,它是出厂时写到网卡上的世界唯一的硬件地址。把 IP 地址翻译到对应的 MAC 地址是由 ARP 协议完成的。 5) 如图的虚线所示,ARP 发送一份称作 ARP 请求的以太网数据帧给以太网上的每个主机,这个过程称作广播。ARP 请求数据帧中包含目的主机的IP 地址,其意思是“如果你是这个 IP 地址的拥有者,请回答你的硬件地址。” 6) 目的主机的 ARP 层收到这份广播后,识别出这是发送端在寻问它的 IP 地址,于是发送一个 ARP 应答。这个 ARP 应答包含 I P 地址及对应的硬件地址

11、。 7) 收到 ARP 应答后,使 ARP 进行请求应答交换的 IP 数据包现在就可以传送了。 8) 发送 IP 数据报到目的主机。 3、实例分析 下面通过分析用 iris 捕获的包来分析一下 TCP/IP 的工作过程,为了更清晰的解释数据传送的过程,我们按传输的不同阶段抓了四组数据,分别是查找服务器、建立连接、数据传输和终止连接。每组数据,按下面三步进行解释。显示数据包解释该数据包按层分析该包的头信息 第一组 查找服务器 1)图 9 显示的是 1、2 行的数据 2)解释数据包 这两行数据就是查找服务器及服务器应答的过程。 在第 1 行中,源端主机的 MAC 地址是 00:50:FC:22:C

12、7:BE。目的端主机的 MAC 地址是 FF:FF:FF:FF:FF:FF,这个地址是十六进制表示的,F 换算为二进制就是 1111,全 1 的地址就是广播地址。所谓广播就是向本网上的每台网络设备发送信息,电缆上的每个以太网接口都要接收这个数据帧并对它进行处理,这一行反映的是步骤 5)的内容,ARP 发送一份称作 ARP 请求的以太网数据帧给以太网上的每个主机。网内的每个网卡都接到这样的信息“谁是 192.168.113.1 的 IP 地址的拥有者,请将你的硬件地址告诉我”。 第 2 行反映的是步骤 6)的内容。在同一个以太网中的每台机器都会接收到这个报文,但正常状态下除了 1 号机外其他主机

13、应该会忽略这个报文,而 1 号的主机的 ARP 层收到这份广播报文后,识别出这是发送端在寻问它的 IP 地址,于是发送一个 ARP 应答。告知自己的 IP 地址和 MAC 地址。第 2 行可以清楚的看出 1 号回答的信息_自己的 MAC 地址 00:50:FC:22:C7:BE。 这两行反映的是数据链路层之间一问一答的通信过程。这个过程就像我要在一个坐满人的教室找一个叫“张三”的人,在门口喊了一声“张三”,这一声大家都听见了,这就叫广播。张三听到后做了回应,别人听到了没做回应,这样就与张三取得了联系。 3)头信息分析 如下图 10 左栏所示,第 1 数据包包含了两个头信息:以太网(Ethern

14、et)和 ARP。 下面是以太网的头信息,括号内的数均为该字段所占字节数,以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全 1 的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。两个字节长的以太网帧类型表示后面数据的类型。对于 ARP 请求或应答来说,该字段的值为 0806。 第 2 行中可以看到,尽管 ARP 请求是广播的,但是 ARP 应答的目的地址却是 1 号机的(00 50 FC 22 C7 BE)。ARP 应答是直接送到请求端主机的。 行 以太网目的地址(6) 以太网源地址(6) 帧类型(2) 1 FF FF FF FF FF FF 00 50 FC

15、22 C7 BE 06 06 2 00 50 FC 22 C7 BE 00 50 27 F6 50 53 06 06 下面是 ARP 协议的头信息。硬件类型字段表示硬件地址的类型。它的值为 1 即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为0800 即表示 IP 地址。它的值与包含 I P 数据报的以太网数据帧中的类型字段的值相同。接下来的两个 1 字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上 IP 地址的 ARP 请求或应答来说,它们的值分别为 6 和 4。Op 即操作(Opoperation),1 是 ARP 请求、2

16、 是 ARP 应答、3 是 RARP 请求和 4 为 RARP 应答,第二行中该字段值为 2 表示应答。接下来的四个字段是发送端的硬件地址、发送端的 IP 地址、目的端的硬件地址和目的端 IP 地址。注意,这里有一些重复信息:在以太网的数据帧报头中和 ARP 请求数据帧中都有发送端的硬件地址。对于一个 ARP 请求来说,除目的端硬件地址外的所有其他的字段都有填充值。 表 3 的第 2 行为应答,当系统收到一份目的端为本机的 ARP 请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为 2,最后把它发送回去。 行 硬件类型(2) 协议类型(2) 硬件地址长度(1) 协议地址长度(1) Op(2) 发送端以太网地址(6) 发送端 IP 地址(4)1 00 00 08 00 06

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号