当前位置:文档之家› 实验四 IP协议分析

实验四 IP协议分析

实验四 IP 协议/TCP 协议分析实验

一、实验目的

通过对截获帧进行分析,验证TCP/IP 的主要协议和协议的层次结构,掌握对应数据包的内部封装结构。

二、实验内容

使用Ethereal 网络监听软件对TCP/IP 体系下的以太网链路层MAC 帧,网络层ARP 协议、ICMP 协议和IP 协议,传输层TCP 协议和UDP 协议格式进行分析。

三、实验知识

局域网按照网络拓扑结构可以分为星形网、环形网、总线网和树形网,相应代表性的网络主要有以太网、令牌环形网、令牌总线网等。局域网经过近三十年的发展,尤其是近些年来快速以太网(100Mb/s )、吉比特以太网(1Gb/s )和10吉比特以太网(10Gb/s )的飞速发展,采用CSMA/CD (Carrier sense ,Multiple Access with Collision detection )接入方法的以太网已经在局域网市场中占有绝对优势,以太网几乎成为局域网的同义词。因此,本章的实验以以太网为主。

以太网MAC 帧

常用的以太网MAC 帧格式有两种标准,一种是DIX Ethemet V2标准,另一种是IEEE 的802.3标准。图 4-1显示了这两种不同的MAC 帧格式。

帧开始定界符

前同步码 1字节

7字节

43~1497 6 2

4 1

1 1 字节 IP 数据

数据 控制

SSAP DSAP 1

1

1

数据

控制 SSAP DSAP 长度/类型 源地址

目的地址

FCS

6 字节

IP 层

LLC 子层

MAC 子层

802.2 LLC 帧 802.3 MAC 帧 当长度/类型字段 表示长度时

IP 数据

6 2 长度/类型

源地址

目的地址 6 字节

以太网V2 MAC 帧 46~1500 4 FCS

MAC 子层

IP 数据

IP 层

MAC 帧

8字节

物理层

10101010101010……101010101010 10101011 插入

这种802.3+802.2帧已经很少使用了

图 4-1 Ethernet 和IEEE 802.3/802.2定义的帧封装结构

Ethernet V2标准的MAC 帧格式

DIX Ethernet V2标准是指数字设备公司(Digital Equipment Corp.)、英特尔公司(Intel Corp.)和Xerox 公司在1982年联合公布的一个标准。它是目前最常用的MAC 帧格式,它比较简单,由5个字段组成。第一、二字段分别是目的地址和源地址字段,长度都是6字节;第三字段是类型字段,长度是2字节,标志上一层使用的协议类型;第四字段是数据字段,长度在46~1500字节之间;第五字段是帧检验序列FCS ,长度是4字节。

此外,为了使发送端和接收端达到位同步,实际传送时要在MAC 帧前设置前同步码(7字节)和帧开始界定符(1字节)。这两个字段和帧检验序列FCS 在网卡接收MAC 帧时被去掉了,因此实验中抓包软件截获报文中没有这些字段。

Ethernet V2标准定义MAC 帧都有最小长度要求,规定数据部分必须至少为46字节。为了保证这一点,必要时需要插入填充(pad )字节。

IEEE 802.3标准的MAC 帧格式

1983年,IEEE (电子电气工程师协会)802委员会公布了一个和Ethernet V2标准稍有不同的标准集,局域网的数据链路层被拆成逻辑链路控制LLC 子层和媒体接入控制MAC 子层。MAC 子层中定义了几种不同的局域网标准,如802.3针对整个CSMA/CD 网络,802.4针对令牌总线网络,802.5针对令牌环网络。如图 4-1所示,802.2和802.3定义了一个与DIX Ethernet V2标准不同的以太网帧格式。

IEEE 802.3标准设计的主要特点是MAC 层能够知道其有效数据的长度并能够为局域网提供面向连接的服务。与DIX Ethernet V2标准相比要复杂一些。

IEEE 802.3 MAC 帧的第一、二字段也分别是目的地址和源地址字段,长度都是6字节;第三字段是长度/类型字段,如果该字段数值小于1500,它就表示MAC 帧数据字段的长度;如果其数值大于0x0600,就表示类型,即上层协议的类型,此时802.3的MAC 帧和Ethernet V2的MAC 帧一样。

当长度/类型字段表示长度时,MAC 帧的数据部分为802.2标准定义的LLC 子层的LLC 帧,其长度就是长度/类型字段的值。LLC 帧的首部有3个字段,目的服务访问点DSAP (Destination Service Access Point ,l 字节)、源服务访问点SSAP (Source Service Access Point ,1字节)和控制字段(1或2字节)。DSAP 指出LLC 帧的数据应当上交的协议,SSAP 指出发送数据的协议,控制字段则指出LLC 帧的类型。其数据字段、帧检验序列FCS 字段、MAC 帧前前同步码、帧开始界定符,以及最小长度要求与Ethernet V2标准类似。

此外,802.3标准为了能够更好地与Ethernet V2标准兼容,802委员会又制定了802.3子网接入协议SNAP (Sub-Network Access Protocol ),对LLC 首部进行扩展。使用SNAP 协议时,DSAP 和SSAP 的值都设为0xaa ,Control 字段的值设为3,随后的3个字节Organization Code 一般都置为0。再接下来的2个字节类型字段和以太网帧格式一样。

显然,与Ethernet V2标准相比,802.3标准在MAC 帧中增加了8个字节的开销,而且实践证明,这样做过于繁琐,使得其在实际中很少得到使用。因此,本实验中重点分析Ethernet V2 MAC 帧的格式,802.3 MAC 帧只做一般了解。

TCP/IP 体系结构

当网络运行TCP/IP 协议时,其协议栈如错误!未找到引用源。所示。

各种应用层协议 网络接口层

(TELNET, FTP, SMTP 等)

物理硬件

运输层

TCP, UDP

应用层 ICMP

IP

RARP

ARP

与各种网络接口

网际层

IGMP

图 4-2 TCP/IP 协议栈

在错误!未找到引用源。中,与网际协议IP 配套使用的还有地址解析协议ARP (Address Resolution Protocol )、逆地址解析协议RARP (Reverse Address Resolution Protocol )、因特网控制报文协议ICMP (Internet Control Message Protocol )和因特网组管理协议IGMP (Internet Group Management Protocol )等四个协议。其中ARP 和RARP 画在最下面,因为IP 经常要使用这两个协议。ICMP 和IGMP 画在这一层的上部,因为它们要使用IP 协议。

由于IP 、ARP 和RARP 直接承载在MAC 数据包上,作为链路层数据帧的帧头,其帧类型标识主要有:

0x0800——IP 0x0806——ARP

0x8035——RARP

ARP协议

ARP(Address Resolution Protocol)是地址解析协议的简称。在实际通信中,物理网络使用硬件地址进行报文传输,IP地址不能被物理网络所识别。所以必须建立两种地址的映射关系,这一过程称为地址解析。用于将IP地址解析成硬件地址的协议就被称为地址解析协议(ARP协议)。ARP是动态协议,就是说这个过程是自动完成的。

在每台使用ARP的主机中,都保留了一个专用的内存区(称为缓存),存放最近的IP 地址与硬件地址的对应关系。一旦收到ARP应答,主机就将获得的IP地址和硬件地址的对应关系存到缓存中。当发送报文时,首先去缓存中查找相应的项,如果找到相应项后,便将报文直接发送出去;如果找不到,再利用ARP进行解析。ARP缓存信息在一定时间内有效,过期不更新就会被删除。

同一网段的ARP解析过程

处在同一网段或不同网段的主机进行通信时,利用ARP协议进行地址解析的过程不同。在同一网段内通信时,如果在ARP缓存中查找不到对方主机的硬件地址,则源主机直接发送ARP请求报文,目的主机对此请求报文作出应答即可。例如,如果主机A需要发报文给同一网段中主机B,如果在缓存中查找不到相应的记录,就必须先解析主机A的硬件地址。主机A首先在网段内发出ARP请求报文,主机B收到后,判断报文的目的IP地址是自己的IP地址,便将自己的硬件地址写入应答报文,发送给主机A,主机A收到后将其存入缓存,则解析成功。然后才将报文发往主机B。

不同网段的ARP解析过程

位于不同网段的主机进行通信时,源主机只需将报文发送给它的默认网关,即只需查找或解析自己的默认网关地址即可。例如,如果主机A要发报文给位于不同网段的主机B,首先,主机A分析目的地址不在同一网段,需要将报文先发给其默认网关,再由默认网关转发。如果没有找到默认网关的硬件地址,便发送ARP请求报文,请求默认网关的硬件地址,默认网关收到之后,将自己的硬件地址写入应答报文,发送给主机A。然后,主机A 到主机B的报文首先被送到默认网关,默认网关再查找或解析主机B的硬件地址,将报文送到主机B中。主机B到主机A的报文以相反的顺序发送。

ICMP协议

ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议。ICMP允许路由器或主机报告差错情况和提供有关信息,用以调试、监视网络。

在网络中,ICMP报文将作为IP层数据报的数据,封装在IP数据报中进行传输。如图4-3所示。但ICMP并不是高层协议,而仍被视为网络层协议。

IP报头ICMP信息

ICMP报头

图4-3 ICMP报文

ICMP 报文的格式

由于ICMP报文的类型很多,且各自又有各自的代码,因此,ICMP并没有一个统一的报文格式以供全部ICMP信息使用,不同的ICMP类别分别有不同的报文字段。ICMP报文只是在前4个字节有统一的格式,共有类型、代码和校验和3个字段。接着的4个字节的内容与ICMP报文的类型有关。再后面的数据字段的长度取决于ICMP报文的类型。以回送请求或应答报文为例,其ICMP报文格式如图4-44所示。

16

标识

8

31

校验和 代码(0) 类型(8/0)

序列号

数据部分 ……

图 4-4 回送请求和应答报文格式

其中类型字段表示ICMP 报文的类型,代码字段是为了进一步区分某种类型的几种不同情况,校验和字段用来检验整个ICMP 报文。

ICMP 报文的分类

ICMP 报文的种类可以分为ICMP 差错报告报文和ICMP 询问报文两种,它们各自对应的报文类型及代码如错误!未找到引用源。所示。

表 4-1 ICMP 报文的分类及各自对应的报文类型和代码

ICMP 报文种类

类型的值 ICMP 报文的类型 差错报告报文 3 终点不可达 4 源站抑制(Source Quench )

11 时间超过

12 参数问题 5 路由重定向(Redirect ) 询问报文

8或0 回送(echo )请求或应答 13或14 时间戳(Timestamp )请求或应答

17或18 地址掩码(Address Mask )请求或应答 10或9 路由器询问(Router Soliciation )或通告

ICMP 差错报告报文主要有终点不可达、源站抑制、超时、参数问题和路由重定向5种。实验中主要涉及终点不可达和超时两种。其中终点不可达报文中需要区分的不同情况较多,对应的代码列表如表 4-22所示。

表 4-2 ICMP 类型3

代码 描述 处理方法 代码 描述 处理方法 0 网络不可达 无路由到达主机 8 源主机被隔离(作废不用) 无路由到达主

1 主机不可达 无路由到达主机 9 目的网络被强制禁止 无路由到达主

2 协议不可达 连接被拒绝 10 目的主机被强制禁止 无路由到达主

3 端口不可达 连接被拒绝 11 由于服务类型TOS ,网络不可达 无路由到达主

4 需要进行分片但设置了不分片位 报文太长 12 由于服务类型TOS ,主机不可达 无路由到达主

5 源站选路失败 无路由到达主机 13 由于过滤,通信被强制禁止

(忽略)

6 目的网络不认识 无路由到达主机 14 主机越权 (忽略)

7 目的主机不认识 无路由到达主机 15 优先权中止生效 (忽略)

其中较常见的是前5种。

ICMP 询问报文有回送请求和应答、时间戳请求和应答、地址掩码请求和应答以及路由

器询问和通告4种。

ICMP 回送请求报文是由主机或路由器向一个特定的目的主机发出询问,收到此报文的机器必须给源主机发送ICMP 回送应答报文。ping 命令就是基于它的一个广泛而重要的应用。其报文格式如图 4-44所示。

ICMP 时间戳请求报文是请某个主机或路由器应答当前的日期和时间。可用来进行时钟同步和测量时间。其报文格式如图 4-54所示,报文长度不少于12 字节。

16

标识

8

31

校验和 代码(0)

类型(13/14)

序列号

数据部分 ……

图 4-5 时间戳请求和应答报文格式

主机使用ICMP 地址掩码请求报文可从子网掩码服务器得到某个接口的地址掩码。其报文格式如错误!未找到引用源。所示,报文长度不少于20字节。

16

标识

8

31

校验和 代码(0)

类型(17/18)

序列号

数据部分 ……

图 4-6 地址掩码请求和应答报文格式

基于ICMP 的应用程序

目前网络中常用的基于ICMP 的应用程序主要有ping (重要,必须掌握,以后联网时经常要用的)和tracert 命令(两个命令都工作在命令提示符界面下)。

(1) ping 命令

ping 是调试网络最有用的工具之一,其命名来自于潜艇的声纳系统。在IP 层中,ping 发出ICMP Echo 请求报文并监听其回应。通过执行ping 命令主要可获得如下信息:

● 检测网络的连通性,检验与远程计算机或本地计算机的连接。

● 确定是否有数据报被丢失、复制或重传。ping 在所发送的数据包中放置惟一的序

列号(Sequence Number ),以此检查其接收到应答报文的序列号。 ● ping 在其所发送的数据报中还放置时间戳(Timestamp ),根据返回的时间戳信息可

以很容易地计算数据包交换的时间,即RTT ( Round Trip Time )。 ● ping 校验每一个收到的数据报,据此可以确定数据报是否损坏。

ping 命令需要在安装TCP/IP 协议之后才能使用,其命令参数为:

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [ -s count] [[-j computer - list]|[-k computer - list]] [-w timeout] destination – list

这里对实验中可能用到的参数解释如下:

-t :校验与指定计算机的连接,直到用户中断。

-n count :发送由count 指定数量的ECHO 报文,缺省值为4。

-l length :发送包含由length 指定数据长度的ECHO 报文。缺省值为64字节,最大值为8192字节。

-i ttl :将“生存时间”字段设置为由ttl 指定的数值。 -s count :指定由count 指定的转发次数的时间戳。 -w timeout :以毫秒为单位指定超时间隔。

destination - list :指定要校验连接的远程计算机。

注意命令和参数之间要有空格

最常用的方式为:

ping ip 地址或网址……用于测试与特定目标之间的网络连通性,中间有一空格 ping ip 地址或网址 –t …用于测试与特定目标之间的连续连通性,中间有两个空格

(2) traceroute 命令

traceroute 命令用来获得从本地计算机到目的主机的路径信息。在MS Windows 中该命令为tracert ,而UNIX 系统中则为traceroute 。traceroute 通过发送数据报到目的设备并直到其应答,通过应答报文得到路径和时延信息。一条路径上的每个设备traceroute 要测3次,输出结果中包括每次测试的时间(ms )和设备的名称(如有的话)或IP 地址。

该程序通过向目的地发送具有不同生存时间(TTL )的ICMP 回送请求报文,以确定至目的地的路由。路径上的每个路由器都要在转发该ICMP 回送请求报文之前将其TTL 值至少减1,因此TTL 是有效的跳转计数。当报文的TTL 值减少到0时,路由器向源系统发回ICMP 超时信息。通过发送TTL 为1的第一个回送请求报文并且在随后的发送中每次将TTL 值加1,直到目标发送回送应答报文或达到最大TTL 值,由此tracert 可以获得从本地计算机到目的主机的路径信息。

在Windows 系统下执行的tracert 命令描述如下:

tracert [-d] [-h maximum_hops] [-j computer – list] [-w timeout] target_name 参数说明:

-d :指定不对计算机名解析地址。

-h maximum_hops :指定查找目标的跳转的最大数目。 -j computer - list :指定在computer - list 中松散源路由。 -w timeout :等待由timeout 对每个应答指定的毫秒数。 Target_name :目标计算机的名称。

IP 报文格式

如错误!未找到引用源。7所示,IP 数据报由首部和数据两部分组成。

IP 报头

IP 数据

图 4-7 IP 数据报

首部又分为两部分,前一部分是固定长度的,必不可少,共20字节;后一部分是一些可选字段,长度可变,如错误!未找到引用源。所示。

固 定 部 分 可变 部分

0 4

8

16 19

24

31

版 本

标志

生 存 时 间 协 议

标 识

服 务 类 型

总 长 度

片 偏 移

填 充

首 部 检 验 和

源 地 址 目 的 地 址

可 选 字 段 (长 度 可 变)

比特 首部长度

1 2

3 4 5 6 7 D

T

R

C

未用

优 先 级

数 据 部 分

比特

数 据 部 分 首 部 传送

IP 数据报

首 部

图 4-8 IP 数据报首部

TCP 的报文格式

TCP 的报文段分为首部和数据两部分,如错误!未找到引用源。所示。

TCP 首部

20字节的 固定首部

目 的 端 口

数据 偏移

检 验 和

选 项 (长 度 可 变)

源 端 口

序 号 紧 急 指 针

确 认 号

F I N

32 bit

S Y N R S T P S H A C K U R G 比特 0 8 16 24 31

填充

TCP 数据部分

TCP 首部 TCP 报文段

IP 数据部分

IP 首部

发送在前

图 4-9 TCP 报文段的总体结构

TCP 的报文段首部又分为固定部分和选项部分,固定部分共20字节。如错误!未找到引用源。9所示,主要字段有:源端口、目的端口、序号、确认号、数据偏移、保留、码元比特、窗口、校验和、紧急指针、选项和填充字段,各字段的意义可参见其他参考文献。正是这些字段作用的有机结合,实现了TCP 的全部功能。

TCP 协议采用运输连接的方式传送TCP 报文,运输连接包括连接建立、数据传送和连接释放三个阶段。

TCP 连接的建立

TCP 连接的建立采用了三次握手(Three -way Handshake )方式。

首先,主机A 的TCP 向主机B 的TCP 发出连接请求报文段,其首部中的同步位SYN 应置1,同时选择一个序号x ,表明在后面传送数据时的第一个数据字节的序号是x + 1,如图 4-10所示。

SYN, SEQ = x

主机 B

SYN, ACK, SEQ = y, ACK= x + 1

ACK, SEQ = x + 1, ACK = y + 1

被动打开

主动打开 确认

确认

主机 A

连接请求

图 4-10 TCP 连接的建立

然后,主机B 的TCP 收到连接请求报文段后,若同意,则发回确认。在确认报文段中应将SYN 和ACK 都置1,确认号应为x + 1,同时也为自己选择一个序号y 。

最后,主机A 的TCP 收到B 的确认后,要向B 发回确认,其ACK 置1,确认号为y + 1,而自己的序号为x + 1。TCP 的标准规定,SYN 置1的报文段要消耗掉一个序号。同时,

运行客户进程的主机A 的TCP 通知上层应用进程,连接已经建立。当主机A 向B 发送第一个数据报文段时,其序号仍为x + 1,因为前一个确认报文段并不消耗序号。

当运行服务器进程的主机B 的TCP 收到主机A 的确认后,也通知其上层应用进程,连接已经建立。

另外,在TCP 连接的建立过程中,还利用TCP 报文段首部的选项字段进行双方最大报文段长度MSS (Maximum Segment Size )协商,确定报文段的数据字段的最大长度。双方都将自己能够支持的MSS 写入选项字段,比较之后,取较小的值赋给MSS ,并应用于数据传送阶段。

TCP 数据的传送

为了保证TCP 传输的可靠性,TCP 协议采用面向字节的方式,将报文段的数据部分进行编号,每一个字节对应一个序号。并在连接建立时,双方商定初始序号。在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方希望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。这样,既做到了可靠传输,又做到了全双工通信。

当然,数据传送阶段有很多非常复杂的问题和情况,如流量控制、拥塞控制、重传控制等,这些内容将在下一部分介绍。

TCP 连接的释放

在数据传输结束后,通信的双方都可以发出释放连接的请求。TCP 连接的释放采用所谓四次握手方式。

首先,设错误!未找到引用源。11中主机A 的应用进程先向其TCP 发出释放连接请求,并且不再发送数据。TCP 通知对方要释放从A 到B 这个方向的连接,将发往主机B 的TCP 报文段首部的终止位FIN 置1,其序号x 等于前面已传送过的数据的最后一个字节的序号加1。

FIN, SEQ = x

ACK, SEQ = y, ACK= x + 1 ACK, SEQ = x + 1, ACK = y + 1

应用进程 释放连接 A 不再发送报文

FIN, ACK, SEQ = y, ACK = x + 1

主机 B

主机 A

通知主机 应用进程 ①

应用进程 释放连接 B 不再发送报文

确认

确认

图 4-11 TCP 连接释放过程

主机B 的TCP 收到释放连接通知后即发出确认,其序号为y ,确认号为x + 1,同时通知高层应用进程,如错误!未找到引用源。11中的箭头① 。这样,从A 到B 的连接就被释放了,连接处于半关闭(half - close )状态,相当于主机A 对主机B 说:“我已经没有数据要发送了。但你如果还发送数据,我仍接收。”

此后,主机B 不再接收主机A 发来的数据。但若主机B 还有一些数据要发往主机A ,则可以继续发送(这种情况很少)。主机A 只要正确收到数据,仍应向主机B 发送确认。若主机B 不再向主机A 发送数据,其应用进程就通知TCP 释放连接,如错误!未找到引用源。中的箭头②。主机B 发出的连接释放报文段必须将终止位FIN 和确认位ACK 置1,并使其序号仍为y (因为前面发送的确认报文段不消耗序号),但还必须重复上次已发送过的ACK = x + 1。主机A 必须对此发出确认,将ACK 置1,ACK = y + 1,而自己的序号是x + 1,因为根据TCP 标准,前面发送过的FIN 报文段要消耗一个序号。这样把B 到A 的反方向连接释放掉。主机A 的TCP 再向其应用进程报告,整个连接已经全部释放。

UDP 的报文格式

UDP 协议是User Datagram Protocol 的缩写,主要用来支持在计算机之间传输数据的网络应用,与TCP 协议一样,UDP 协议也位于IP 协议之上,UDP 报文是封装在IP 报文里进行传输的。

UDP 协议是基于数据报文的协议,在传输过程中每一次都最大限度的传输数据。同时,UDP 协议又是不可靠的,在传输数据之前不建立连接,传输过程中没有报文确认信息。DNS 协议是应用层协议,是基于UDP 协议的。

UDP 报文的格式见图 4-1212。

伪首部

源端口

目的端口

长 度

检验和

数 据 首 部

UDP 长度

源 IP 地址

目的 IP 地址 0

17 IP 数据报

字节

4

4

1 1

2 12 2 2 2 2 字节

发送在前

数 据

首 部 UDP 用户数据报

图 4-12 UDP 用户数据报的首部和伪首部

用户数据报UDP 有两个字段:数据字段和首部字段。首部字段很简单,只有8 个字节(图 4-1212),由4个字段组成,每个字段都是两个字节。各字段意义如下:

(1) 源端口 源端口号。 (2) 目的端口 目的端口号。

(3) 长度 UDP 用户数据报的长度。

(4) 检验和 防止UDP 用户数据报在传输中出错。

四、实验原理

以太网数据传输通过广播实现,在同一网段的所有网卡事实上都可以访问在共享的物理介质上传输的所有数据。但系统正常工作时,一个合法的网络接口应只响应两种数据帧:一是帧上的目标MAC 地址与本地网卡地址相符;二是帧的目标地址是广播地址,除此之外数据帧将被丢弃不作处理。要监听流经网卡的不属于自己主机的数据,则必须将用于监听的计算机的网卡设置在“混杂”方式,绕过系统正常工作的处理机制,直接访问网络底层,这时就可以监听到同一冲突域上传输的数据帧。

应当注意的是当用于监听的主机连接在共享型以太网集线器上时,采用“混杂”方式是可以监听到同一冲突域上传输的数据帧;但当用于监听的主机连接在交换机上时,由于交换机通常不会将数据帧广播到所有端口上(除非在其MAC 地址——端口映射表内找不到相应的表项),因而不能利用以太网络的广播特性进行监听。这时,可利用交换机的端口镜像(Port Mirror )功能实现监听或者取消“混杂”方式只监听本机的数据帧。

常用工具和开发系统

1. ETHEREAL 、Sniffer Pro 等以太网数据包监听工具

2. Libpcap (Linux 下)函数库

3. Winpcap (Window 下的Libpcap )函数库

实验环境与分组

安装有ETHEREAL 软件的联网计算机1台,每组一人。

五、实验步骤

步骤1安装并运行Ethereal软件。

步骤2选取Capture→Option菜单项,弹出“Capture Option”对话框(见错误!未找到引用源。)。

图4-13 “Define Filter – Monitor”对话框

步骤3在对话框的“Interface”栏上选择需要监听的网卡,如果勾选“Capture packets in promiscuous mode”则设置为以“混杂”方式监听。

步骤4点击“Start”按钮,开始截获数据报文。如图1-14:

图4-14 监听对话框

步骤5在计算机的命令提示符窗口,执行如下命令:

arp –d *

ping 210.33.40.1

ping 210.33.40.12

ping 网关地址

ping xxx.xxx.xxx.xxx

ping yyy.yyy.yyy.yyy

ping zzz.zzz.zzz.zzz

ping http://biz.doczj.com/doc/cc13814728.html,

tracert 210.33.40.1

arp -aji

其中xxx.xxx.xxx.xxx、yyy.yyy.yyy.yyy和zzz.zzz.zzz.zzz分别是与本计算机在同一网段上的三台计算机的IP地址。

步骤6点击Stop按钮停止截获报文,并在屏幕上显示截获数据报结果。

图4-15 监听结果

步骤7对截获的报文进行分析:

(1)列出截获报文的协议种类,各属于哪种网络?

(2)找到发送消息的报文并进行分析,研究在不同协议下目的计算机的MAC地址取值。

(3)找到回应消息的报文并进行分析,研究在不同协议下源计算机的MAC地址取值。

(4)填写错误!未找到引用源。。

表4-3 MAC报文分析

Ping的IP地

协议类型数据方向源MAC地址目的MAC地址

发送

接收

(5)找到向http://biz.doczj.com/doc/cc13814728.html,发送消息的报文并进行分析,研究主窗口中的数据报文列表窗口和协议树窗口信息,填写错误!未找到引用源。4。

表4-4 报文分析

此报文类型此报文的基本信息(数据报文

列表窗口中的Information项

的内容)

Ethernet II协议树中Source字段值Destination字段值

Internet Protocol协议树中Source字段值Destination字段值

User Datagram Protocol协议树Source Port字段值

中Destination Port字段值

协议名称

应用层协议树

(6)选中第一条ARP请求报文和第一条ARP应答报文,将ARP请求报文和ARP应答报文中的字段信息填入错误!未找到引用源。5。

表4-5 ARP请求报文和ARP应答报文的字段信息

字段项ARP请求数据报文ARP应答数据报文

链路层Destination项

链路层Source项

网络层Sender MAC Address

网络层Sender IP Address

网络层Target MAC Address

网络层Target IP Address

(7)截获了哪种ICMP报文?其类型和代码字段值是什么?此报文的ICMP协议部分又分为了几部分?其作用是什么?

(8)分析第l个ICMP报文的IP协议部分,将结果填入错误!未找到引用源。6。

表4-6 IP协议树中各字段信息

字段名字段长度字段值字段表达信息

(9)分析TCP连接的建立过程,根据TCP建立过程的三个报文,填写错误!未找到引用源。7。

表4-7 TCP建立过程的三个报文信息

字段名称第一条报文第二条报文第三条报文

报文序号

Sequence Number

Acknowledgement

Number

ACK

SYN

(10)TCP连接建立时,其报文首部与其他TCP报文不同,有一个Option字段,它的作用是什么,值为多少?结合IEEE 802.3 协议规定的以太网最大帧长度分析此数据是怎样得出的。

(11)分析TCP连接的释放过程,选择TCP连接撤消的四个报文,将报文信息填入错误!未找到引用源。。

表4-8 TCP连接撤消的四个报文信息

字段名称第一条报文第二条报文第三条报文第四条报文报文序号

Sequence Number

Acknowledgement

Number

ACK

FIN

(12)分析TCP数据传送阶段的前8个报文,将报文信息填入表4-99。

表4-9 TCP数据传送阶段的前8个报文

报文序号报文种类(发送/确

认)序号字

确认号字段数据长度被确认报文序

窗口

(13)分析UDP报文结构:选中第一个TFTP报文,将UDP协议树中各字段名、字段长度、字段值、字段表达信息填入错误!未找到引用源。。

表4-10 UDP报文结构

字段名字段长度字段值字段表达信息

(14)UDP报文结构与TCP报文结构有什么区别?

七、实验总结

(1)通过实验,对Ethernet V2标准规定的MAC层报文结构进行详细分析,验证IEEE 802.3标准规定的MAC层报文结构。

(2)研究在所访问的计算机中,各MAC地址的取值规律,并和路由的原理进行比较。

(3)查看和分析TCP/IP协议族中的协议,初步体会主要的协议和协议的结构。

(4)比较ARP协议在同一网段和不同网段间主机上通信时的执行过程,分析ARP协议报文结构。

(5)了解ICMP报文的格式和协议的内容,并重点对ICMP差错报告报文和询问报文的典型应用进行分析。

(6)分析IP协议报文格式、IP地址的编址和数据报文发送、转发的过程。

(7)通过分析截获的TCP报文首部信息,可以看到首部中的序号、确认号等字段是TCP 可靠连接的基础。然后,通过分析TCP连接的三次握手建立和四次握手的释放过程,理解TCP连接建立和释放的机制和码元比特字段的作用。最后,通过对数据传送阶段报文的初步分析,了解了数据的编号和确认机制。

总之,TCP协议中的各项设置都是为了在数据传输时提供可靠的面向连接的服务。

(8)利用DNS的报文传输,截获并分析UDP协议报文。从UDP协议报文格式中可以看到,在UDP协议报文的首部没有报文顺序号、确认号,没有SYN、FIN、ACK等标志位,所以UDP协议报文的传输没有建立连接,传输过程中也没有确认,所以UDP协议是无连接的、不可靠的传输层协议。

TCP IP网络协议分析实验报告

TCP/IP网络协议分析实验 一、实验目的 1. 通过实验,学习和掌握TCP/IP协议分析的方法及其相关工具的使用; 2. 熟练掌握 TCP/IP体系结构; 3. 学会使用网络分析工具; 4. 网络层、传输层和应用层有关协议分析。 二、实验类型 分析类实验 三、实验课时 2学时 四、准备知识 1.Windows 2003 server 操作系统 2.TCP/IP 协议 3.Sniffer工具软件 五、实验步骤 1.要求掌握网络抓包软件Wireshark。内容包括: ●捕获网络流量进行详细分析 ●利用专家分析系统诊断问题 ●实时监控网络活动 ●收集网络利用率和错误等 2.协议分析(一):IP协议,内容包括: ●IP头的结构 ●IP数据报的数据结构分析 3.协议分析(二):TCP/UDP协议,内容包括: ●TCP协议的工作原理 ●TCP/UDP数据结构分析

六、实验结果 1.IP协议分析: (1)工作原理:IP协议数据报有首部和数据两部分组成,首部的前一部分是固定长度,共20字节,是IP数据报必须具有的。首部分为,版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、首部检验和、源地址、目的地址、可选字段和数据部分 (2)IPV4数据结构分析:

2.TCP协议分析: (1)工作原理:TCP连接是通过三次握手的三条报文来建立的。第一条报文是没有数据的TCP报文段,并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组,这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接时不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。

网络协议 实验

1.你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少? 答:HTTP 1.1 version 4 2. 你的浏览器向服务器指出它能接收何种语言版本的对象? 答:Accept language: zh-CN\r\n 3. 你的计算机的IP地址是多少?服务器http://biz.doczj.com/doc/cc13814728.html,/DatumDownload.aspx 的IP地址是多少? 答:我的IP是:10.127.117.2 服务器:222.197.183.99 4. 从服务器向你的浏览器返回的状态代码是多少? 答:200 OK

5. 你从服务器上所获取的HTML文件的最后修改时间是多少? 答:如图 6.返回到你的浏览器的内容以供多少字节? 答:24370 在浏览器地址栏中如下网址: http://biz.doczj.com/doc/cc13814728.html,/wireshark-labs/HTTP-wireshark-file2.html 8.分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE? 答:没有

9.分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 答:有 HTTP/1.1 200 OK(text/html) 10.分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么? 答:仍然没有。如图。 11.服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。 答:状态码和相应状态信息的值为304 NOT Modified,他表示缓存器可以使用该对象。第二次没有返回文件的内容,因为他只是作为对该条件GET的响应,WEB服务器只发送一个响应报文,不包含请求的对象。 12. 你的浏览器一共发出了多少个HTTP GET请求? 答:1个 13. 传输这一个HTTP响应需要多少个TCP报文段? 答:4个。

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 http://biz.doczj.com/doc/cc13814728.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

网络协议分析软件的使用实验报告

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络B 班级: 姓名: 学号: 教师: 信息工程学院测控系

一、实验目的 基于网络协议分析工具Wireshark(原为Ethereal),通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高TCP/IP协议的分析能力和应用技能。 二、实验前的准备 ● 二人一组,分组实验; ● 熟悉Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ● 安装软件工具Wireshark,并了解其功能、工作原理和使用方法; ● 安装任一种端口扫描工具; ● 阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Wireshark工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.40.41为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写host 210.31.38.94; (2)开始抓包; (3)在DOS下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”: IP.Addr=210.31.38.94 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。(7)针对重要内容截屏,并解析协议字段中的内容,一并写入WORD文档中。

分析:从这个数据包的分析结果来看我们可以得知: 数据包的到达时间为2013年11月28日14:43:15 帧的序号为20411 帧的长度为74bytes(592bits),同时抓取的长度也是74bytes,说明没有丢失数据 目的MAC地址为00:25:11::4b:7a:6e 源MAC地址为00:25:11:4b:7d:6e 使用的协议为Ipv4 网络层的首部长度为20bytes 目的Ip地址为222.31.38.94 源Ip地址为222.31.38.93 数据没有分片说明数据大小没有超过最大传输单元MUT,其中用到了ICMP协议,数据包的生存周期为128 头部校验和为0x01正确 ICMP的校验和为0x01序列号为2304 数据有32bytes 3.3 TRACERT命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8 (2)校外:tracert http://biz.doczj.com/doc/cc13814728.html,

实验yi:网络协议分析工具Wireshark的使用

实验一: 一、实验目的 学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线 四、实验步骤(操作方法及思考题) 1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分) (1)用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(2)用“arp”命令清空本机的缓存; (3)运行Wireshark,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包(提示:在设置过滤规则时需要使用(1)中获得的本机的MAC地址); (4)执行命令:“ping 缺省路由器的IP地址”; 写出(1),(2)中所执行的完整命令(包含命令行参数),(3)中需要设置的Wireshark的Capture Filter过滤规则,以及解释用Wireshark所观察到的执行(4)时网络上出现的现象。 -------------------------------------------------------------------------------- (1)ipconfig/all (2)arp –d (3)( arp or icmp ) and ether host 18-03-73-BC-70-51, ping 192.168.32.254 后的截包信息图片:

首先,通过ARP找到所ping机器的ip地址,本机器发送一个广播包,在子网中查询192.168.32.254的MAC地址,然后一个节点发送了响应该查询的ARP分组,告知及其所查询的MAC地址。接下来,本机器发送3个请求的ICMP报文,目的地段回复了三个响应请求的应答ICMP报文。在最后对请求主机对应的MAC地址进行核查。 2.用Wireshark观察tracert命令的工作过程:(20分) (1)运行Wireshark, 开始捕获tracert命令中用到的消息; (2)执行“tracert -d http://biz.doczj.com/doc/cc13814728.html,” 根据Wireshark所观察到的现象思考并解释tracert的工作原理。 ----------------------------------------------------------- 实验室路由跟踪显示有6个路由器

IP协议分析实验报告

计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班学号: 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:

一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示:

图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 (1)启动网络分析工具软件,设置抓包过滤条件。 (2)启动浏览器,在地址栏输入要访问的IP地址。 (3)关闭浏览器,停止抓包。 (4)存储所捕获的数据包。 (5)分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==”

网络协议分析最终版

中南林业科技大学 实验报告 课程名称:网络协议与分析 姓名:项学静学号:20104422 专业班级:2010级计算机科学与技术 系(院):计算机与信息工程学院 实验时间:2013年下学期 实验地点:电子信息楼602机房

实验一点到点协议PPP 一、实验目的 1.理解PPP协议的工作原理及作用。 2.练习PPP,CHAP的配置。 3.验证PPP,CHAP的工作原理。 二、实验环境 1.安装windows操作系统的PC计算机。 2.Boson NetSim模拟仿真软件。 三、实验步骤 1、绘制实验拓扑图 利用Boson Network Designer绘制实验网络拓扑图如图1-1。 本实验选择两台4500型号的路由器。同时,采用Serial串行方式连接两台路由器,并选择点到点类型。其中DCE端可以任意选择,对于DCE端路由器的接口(Serial 0/0)需要配置时钟信号(这里用R1的Serial 0/0作为DCE端)。 2、配置路由器基本参数

绘制完实验拓扑图后,可将其保存并装入Boson NetSim中开始试验配置。配置时点击Boson NetSim程序工具栏按钮eRouters,选择R1 并按下面的过程进行路由器1的基本参数配置: Router>enable Router#conf t Router(config)#host R1 R1(config)#enable secret c1 R1(config)#line vty 0 4 R1(config-line)#password c2 R1(config-line)#interface serial 0/0 R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#clock rate 64000 R1(config-if)#no shutdown R1(config-if)#end R1#copy running-config startup-config 点击工具栏按钮eRouters,选择R2并按下面过程进行路由器的基本参数配置:Router>enable Router#conf t Router(config)#host R2

网络协议分析实验报告样本

网络协议分析实验报告样本 网络协议分析实验报告本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 实验报告99实验名称网络协议分析姓名学号班级313计本班实验目的掌握常用的抓包软件,了解EtherV 2、ARP、P IP协议的结构。 实验内容 11、分析2EtherV2协议 22、分析P ARP协议 33、分析P IP协议实验步骤 11、在S DOS状态下,运行ipconfig,记录本机的IP地址和硬件地址,网关的IP地址。 如下图11所示::本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图 12、分析数据链路层协议( (1)、在:PC1的“运行”对话框中输入命令“Ping192.168.191.1,单击“Enter”按钮;图如下图2所示:图图2( (2)、在本机上运行wireshark截获报文,为了只截获和实验内容有关的报文,将Ethereal的的Captrue Filter设置为“No

Broadcastand noMulticast”;如下图3所示:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图3 (33)停止截获报文::将结果保存为MAC--学号,并对截获的报文进行分析:11)列出截获的报文中的协议类型,观察这些协议之间的关系。 答::a a、UDP:用户数据包协议,它和P TCP一样位于传输层,和P IP协议配合使用,。 在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。 b b、WSP:是无线局域网领域推出的新协议,用来方便安全地建立无线连接。 c c、ARP:地址解析协议,实现通过P IP地址得知其物理地址。 在P TCP/IP网络环境下,每个主机都分配了一个232位的P IP 地址,这种互联网地址是在网际范围标本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 识主机的一种逻辑地址。 为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。 这样就存在把P IP地址变换成物理地址的地址转换问题。

计算机网络实验利用wireshark分析ARP协议—实验六实验报告

信 息 网 络 技 术 实 验 报 告 实验名称利用wireshark分析ARP协议

实验编号 姓名 学号 成绩 常见网络协议分析实验一、实验室名称: 电子政务可视化再现实验室 二、实验项目名称: 利用wireshark分析ARP协议 三、实验原理:

Wireshark:Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试获取网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit 的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。 ARP根据IP地址获取物理地址的一个TCP/IP协议。ARP为IP地址到对应的硬件地址之间提供动态映射。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。 四、实验目的: 目的是通过实验加深对数据包的认识,网络信息传输过程的理解,加深对协议的理解,并了解协议的结构与区别。 利用wireshark捕获发生在ping过程中的ARP报文,加强对ARP协议的理解,掌握ARP报文格式,掌握ARP请求报文和应答报文的区别。 五、实验内容: 利用wireshark分析ARP协议 六、实验器材(设备、元器件) 运行Windows的计算机,带有并正确安装网卡;wireshark软件;具备路由器、交换机等网络设备的网络连接。 七、实验步骤: 1、查看本机WLAN接口IP,得到。 2、利用arp –a命令在本地的ARP 缓存中查看IP-MAC对应表。

计算机网络实验利用wireshark分析ARP协议—实验六实验报告分析

信息网络技术实验报告

实验名称利用wireshark分析ARP协议 实验编号 6.1 姓名 学号 成绩 2.6常见网络协议分析实验 一、实验室名称: 电子政务可视化再现实验室 二、实验项目名称: 利用wireshark分析ARP协议

三、实验原理: Wireshark:Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试获取网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit 的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。 ARP根据IP地址获取物理地址的一个TCP/IP协议。ARP为IP地址到对应的硬件地址之间提供动态映射。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。 四、实验目的: 目的是通过实验加深对数据包的认识,网络信息传输过程的理解,加深对协议的理解,并了解协议的结构与区别。 利用wireshark捕获发生在ping过程中的ARP报文,加强对ARP协议的理解,掌握ARP报文格式,掌握ARP请求报文和应答报文的区别。 五、实验内容: 利用wireshark分析ARP协议 六、实验器材(设备、元器件) 运行Windows的计算机,带有并正确安装网卡;wireshark软件;具备路由器、交换机等网络设备的网络连接。 七、实验步骤: 1、查看本机WLAN接口IP,得到192.168.1.112。 2、利用arp –a命令在本地的ARP 缓存中查看IP-MAC对应表。

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping http://biz.doczj.com/doc/cc13814728.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

计算机网络实验HTTPFTP协议分析

实验二H T T P、F T P协议分析 1. 本次实验包括HTTP、FTP两个协议的分析(详见一、二)。 2. 参考文档所述步骤,完成数据包的捕获并进行分析; 3. 认真撰写实验报告,叙述实验过程要层次分明,对关键的过程或结果截图说明、分析,回答实验文档所提的思考题、问题。 一、超文本传输协议(HTTP)分析 【实验目的】 掌握HTTP协议的原理和报文格式; 了解HTTP协议的工作过程; 了解应用层协议与传输层协议的关系。 【实验内容】 用浏览器打开网页,捕获HTTP报文并进行分析 编辑一个HTTP数据报文并进行发送,并捕获该报文进行分析。 【实验步骤】 步骤一:使用浏览器打开网页,捕获HTTP数据包并分析: (1) 在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中 选择“HTTP协议”,确定后开始进行数据捕获:

(2) 使用实验室主机上的浏览器,例如IE,打开一个网页,如URL是 HTTP//http://biz.doczj.com/doc/cc13814728.html, (3) 在协议分析器中找到捕获的数据包,观察HTTP请求报文和响应报文,以及其中所使用的命令:

【思考问题】 结合实验过程中的实验结果,问答下列问题: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据什么把返回的页面正确地显示到相应窗口的?一个主页是否只有一个连接? 2. 请求主页后,返回的浏览器内容的字节长度是多少? 3. 如果请求一个不存在的网页,服务器将会应答什么? 答: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据地址信息把返回的页面正确地显示到相应窗口的,一个主页是只有一个连接。 2. 请求主页后,返回的浏览器内容的字节长度是 3. 如果请求一个不存在的网页,服务器将会应答404错误。 二、FTP协议分析 【实验目的】 1、掌握FTP协议的工作原理; 2、了解FTP协议的常用命令,并领会其链路管理、理解FTP的主动模式和被动模式 3、了解应用层协议与传输层协议的关系; 【实验内容】 1. 登录FTP服务器,并捕获FTP报文进行分析;

网络协议实验报告汇总

实验一以太网链路层帧格式分析 一.实验目的 分析MAC层帧结构 二.实验内容及步骤 步骤一:运行ipconfig命令 在Windows的命令提示符界面中输入命令:ipconfig /all,会显示本机的网络信息: 步骤二:编辑LLC信息帧并发送 1、打开协议数据发生器,在工具栏选择“添加”,会弹出“网络包模版”的对话框,在“选择生成的网络包”下拉列表中选择“LLC协议模版”,建立一个LLC帧。

2、在“网络包模版”对话框中点击“确定”按钮后,会出现新建立的数据帧,此时在协议数据发生器的各部分会显示出该帧的信息。 3、编辑LLC帧。 4、点击工具栏或菜单栏中的“发送”,在弹出的“发送数据包”对话框上选中“循环发送”,填入发送次数,选择“开始”按钮,即可按照预定的数目发送该帧。在本例中,选择发送10次。 5、在主机B的网络协议分析仪一端,点击工具栏内的“开始”按钮,对数据帧进行捕获,按“结束”按钮停止捕获。捕获到的数据帧会显示在页面中,可以选择两种视图对捕获到的数据帧进行分析,会话视图和协议视图,可以清楚的看到捕获数据包的分类统计结果。 步骤三:编辑LLC监控帧和无编号帧,并发送和捕获 步骤四:保存捕获的数据帧 步骤五:捕获数据帧并分析 1、启动网络协议分析仪在网络内进行捕获,获得若干以太网帧。 2、对其中的5-10个帧的以太网首部进行观察和分析,分析的内容为:源物理地址、目的物理地址、上层协议类型。 捕获到的数据报报文如下:

对所抓的数据帧进行分析: ①MAC header: 目的物理地址:00:D0:F8:BC:E7:08 源物理地址:00:13:D3:51:44:DD 类型:0800表示IP协议 ②IP header: IP协议报文格式如下: 版本:4表示IPv4 首部长度:5表示5×4=20个字节。 服务类型:00表示正常处理该数据报。 总长度:0028表示此数据报的总长度为40字节。

网络协议分析实验总结

实验一IP协议 练习一利用仿真编辑器发送IP数据包 描述:收发IPv4报文,不填上层协议. 问题:①查看捕获到得报文长度是60,和你编辑的报文长度不同,为什么? 最小帧长度为60,当不足60时,在源数据尾部添加0补足。 ②讨论,为什么会捕获到ICMP目的端口不可达差错报文? 差错报文的类型为协议不可达,因为上层协议为0,未定义。 练习二编辑发送IPV6数据包 描述:收发IPv6报文. 问题:①比较IPV4头,IPV6有了那些变化?IPV4的TTL字段在IPV6里对应那个字段? 比较IPv4 和IPv6 的报头,可以看到以下几个特点: ●字段的数量从IPv4 中的13(包括选项)个,降到了IPv6 中的8 个; ●中间路由器必须处理的字段从6 个降到了4 个,这就可以更有效地转发普通的 IPv6 数据包; ●很少使用的字段,如支持拆分的字段,以及IPv4 报头中的选项,被移到了IPv6 报 头的扩展报头中; ●● IPv6 报头的长度是IPv4 最小报头长度(20 字节)的两倍,达到40 字节。 然而,新的IPv6 报头中包含的源地址和目的地址的长度,是IPv4 源地址和目的 地址的4 倍。 对应:跳限制----这个8位字段代替了IPv4中的TTL字段。 练习三:特殊的IP地址 描述:直接广播地址包含一个有效的网络号和一个全“1”的主机号,只有本网络内的主机能够收到广播,受限广播地址是全为1的IP地址;有限广播的数据包里不包含自己的ip 地址,而直接广播地址里包含自身的ip地址 练习四: IP包分段实验 问题:讨论,数据量为多少时正好分两片?1480*2=2960 练习五: netstat命令 描述: C:>netstat –s ;查看本机已经接收和发送的IP报文个数 C:>netstat –s ;查看本机已经接收和发送的IP报文个数 C:>netstat –e ;观察以太网统计信息,

《网络协议分析》实验指导书

网络协议分析 课题名称:网络协议分析 指导教师:赵红敏 专业班级:2014级计算机科学与技术2班学号: 20144591 姓名:孙晓阳

目录 实验一点到点协议PPP (4) 实验目的 (4) 实验环境 (4) 实验步骤 (4) 实验二地址转换协议ARP (10) 实验目的 (10) 实验环境 (10) 实验步骤 (10) 实验三Internet控制报文协议ICMP (16) 实验目的 (16) 实验环境 (16) 实验步骤 (16) 实验四实现”洞”的算法 (20) 实验目的 (20) 实验环境 (20) 实验要求 (20)

实验一点到点协议PPP 实验目的 1.理解PPP协议的工作原理及作用。 2.练习PPP,CHAP的配置。 3.验证PPP,CHAP的工作原理。 实验环境 1.安装windows操作系统的PC计算机。 2.Boson NetSim模拟仿真软件。 实验步骤 1、绘制实验拓扑图 利用Boson Network Designer绘制实验网络拓扑图如图1-1。 本实验选择两台4500型号的路由器。同时,采用Serial串行方式连接两台路由器,并选择点到点类型。其中DCE端可以任意选择,对于DCE端路由器的接口(Serial 0/0)需要配置时钟信号(这里用R1的Serial 0/0作为DCE端)。 2、配置路由器基本参数 绘制完实验拓扑图后,可将其保存并装入Boson NetSim中开始试验配置。配置时点击

Boson NetSim程序工具栏按钮eRouters,选择R1 并按下面的过程进行路由器1的基本参数配置: Router>enable Router#conf t Router(config)#host R1 R1(config)#enable secret c1 R1(config)#line vty 0 4 R1(config-line)#password c2 R1(config-line)#interface serial 0/0 R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#clock rate 64000 R1(config-if)#no shutdown R1(config-if)#end R1#copy running-config startup-config 点击工具栏按钮eRouters,选择R2并按下面过程进行路由器的基本参数配置: Router>enable Router#conf t Router(config)#host R2 R2(config)#enable secret c1

网络层协议分析实验报告

1、网络层协议分析 1.A 数据包捕获分析部分 1.A.1、实验目的 1)、了解ICMP 协议报文类型及作用。 2)、理解IP协议报文类型和格式。 3)、分析ARP 协议的报文格式,理解ARP 协议的解析过程。 1.A.2、实验内容介绍 1)、ICMP协议分析实验 执行ping 和tracert 命令,分别截获报文,分析截获的ICMP 报文类型和ICMP 报文格式,理解ICMP 协议的作用。 2)、IP协议分析实验 使用Ping 命令在两台计算机之间发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。 3)、IP 数据报分片实验 我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。理想情况下,每个IP 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳1500 字节的数据,这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。 TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个IP 报文头,分片后的数据报的IP 报头和原始IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。 重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到IP 报文时,根据其片偏移和标志MF 位判断其是否一个分片。若MF 为0,片偏移为0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。 4)、ARP协议分析实验 本次实验使用的Windows自带的Arp命令,提供了显示和修改地址解析协议所使用的地址映射表的功能。

计算机网络网络协议分析实验报告

红河学院工学院计算机实验中心实验报告单 专业:计算机科学与技术学号:姓名: 实验日期:2012-10-16 成绩: 课程名称:《计算机网络实验》 实验名称:网络协议分析-以太网及ARP协议 一、实验目的 1、了解以太网协议。 2、了解arp协议的原理。 3、使用Ethereal软件观察以太帧的结构。 4、使用Ethereal软件观察arp地址解析过程。 二、实验内容 1、在Ethereal来观察ping命令中产生的以太数据帧结构。 2、在Ethereal观察arp协议中地址解析过程。 三、实验设备、环境及拓扑图 实验环境: 1、硬件环境:CPU p4 2.0,内存1G,硬盘64G以上; 2、软件环境:VMware虚拟机7.0.1;Windows Server 2003 Enterprise Edition, Ethereal10.10.12. 四、实验步骤 1、主机地址配置 (1)配置主机IP地址及子网掩码。

2、启动Ethereal,设置过滤器,开始捕捉。 (1)在客户机上运行Ethereal。 (2)选择Ethereal菜单“Capture”——“Interface”,选择“本地连接”所在接口。 (3)设置包捕捉过滤器。在捕捉选项设置窗口中,设置过滤器为“host 192.168.34.150”,其余选项不变。

(4)点击“Start”按钮开始捕获数据包。

3、在客户机上用ping命令访问服务器在客户机的命令窗口下输入: Ping 192.168.34.150

4、停止数据包捕捉 点击Ethereal的捕捉窗口中的“Stop”按钮停止数据包捕捉。 5、查看捕获的数据包 (1) 在Ethereal中查看所有的窗口显示内容。 (2)查看以太帧中的目的地址和源地址。 (3)查看捕获的以太帧中“类型”字段有哪些。 (4)保存捕获结果。

OSPF路由重分布及路由汇总分析实验《协议分析》实验报告模板

《网络协议分析》实验报告

在如上图所示的拓朴中,先为各路由器配置接口 IP ,然后在各路由器上配置 RIPv2路由协议, 使得PC1、PC2相互之间可以连通。并在 R3与R4之间的串口配置 RIPv2认证。同时验证认证 配置起了 作用。 在对R1进行配置之前,在 R3的S0/0端口和R4的S0/0端口上抓包: Dyn age n=>capture R3 S0/0 ripl.pcap hdlc Dyn age n=>capture R4 S0/0 rip2.pcap hdlc 1、 对于各串行链路,女口 R3,配置接口如下: R3#conf t R3(co nfig)#i nt s0/0 R3(config-if)#ip add R3(co nfig-if)#clock rate 252000 R3(co nfig-if)# no sh R3(co nfig-if)#e nd 对于各快速以太网接口,如 R1,配置接口 IP 地址如下: R1#conft R1(co nfig)#i nt f1/0 R1(c on fig-if)# no switchport R1(config-if)#ip add R1(co nfig-if)# no sh R1(co nfig-if)#e nd 2、 配置RIP 路由协议: 在R1上配置RIP 路由协议如下: ■i ) E3/1LOQ5 D.l 也驻 SOrti: 10.0 152^30* HC 6.2^0- ^0;t0.2.2S.b3O- M22:E/24 RT T 帧 172 1f :305 Qf : 皿 ■F^O 177 ti? 4 1/24 SO/1 172.16 24 IB 如 102^.^04- pw 102.^ t PG& 1 Jw 10 O 刃 I PE 5】匚QV l ? PCH* E3/D:iaO5.1XM-^/ EVO 1C £61^4 利 W I iJ/l 10 2.2.1^ ^4 :J2 16 4 = / SO^t ? 2.2■&胡 EMM 城 g 30/0: li ] :3 23O , SO/O it 045 W E3/0 10.1 1 1/24.' PC1 + 10.1 ;却曲 G UJ : D.l l.lp ■ '超就L E3/0 1 口 1 J.1/24-J 区域弘E (y Cw 173.16.^ L.' a

实验1:网络协议分析工具Wireshark的使用

大连理工大学本科实验报告 课程名称:网络综合实验学院(系):软件学院 专业:网络工程 班级:0908 学号:200992471 学生姓名:王小龙 2011年 6 月22 日

大连理工大学实验报告 学院(系):软件学院专业:网络工程班级:0908 姓名:王小龙学号:200992471 组:12 ___ 实验时间:2011-6-22 实验室:C-310 实验台: 指导教师签字:成绩: 实验一:网络协议分析工具Wireshark的使用一、实验目的 学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线 四、实验步骤(操作方法及思考题) 1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分) (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;如图所示:

(2)用“arp -d”命令清空本机的缓存;如图 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。具体方法为:运行Wireshark,点击Capture选项,选中下拉菜单中的Options选项。在弹出的框中的Capture Filter中输入“(arp or icmp) and ether host 00-25-64-3b-53-5d”并消除“Hide capture info dialog”前的勾,如图所示: (4)执行命令:“ping 192.168.32.254”如图所示: 此时Wireshark所观察到的现象如图所示:

相关主题