实验3分析数据链路层帧结构

实验3分析数据链路层帧结构
实验3分析数据链路层帧结构

一、实验名称分析数据链路层帧结构

二、实验目的:

1. 掌握使用Wireshark分析俘获的踪迹文件的基本技能;

2. 深刻理解Ethernet帧结构。

3. 深刻理解IEEE 802.11帧结构。

三、实验内容和要求

1. 分析俘获的踪迹文件的Ethernet帧结构;

2. 分析IEEE 802.11帧结构。

四、实验环境

1)运行 Windows 2008 Server/Windows XP/Windows 7 操作系统的 PC 一台。

2)PC 具有以太网卡一块,通过双绞线与网络相连;或者具有适合的踪迹文件。

3)每台 PC 运行程序协议分析仪 Wireshark

五、操作方法与实验步骤

1) 分析踪迹文件中的帧结构

用 Wireshark 俘获网络上收发分组或者打开踪迹文件,选取感兴趣的帧进行分析。如图27 所示,选取第 14号帧进行分析。在首部细节信息栏中,可以看到有关该帧的相关信息:

到达时间:2017年6月11日23时09分38秒

帧编号:14

帧长度:55bytes(440bits)

帧中协议:IP\TCP\HTTP

IP接收端地址:192.168.1.105

发送端地址:61.164.213.206

着色方案:HTTP

序列号:1

应答号:1

使用TCP(80)端口

在“帧中协议”中,看到该帧有“Ethernet:EtherType:IP:TCP:http”的封装结构。

图 27 分析帧的基本信息

为了进一步分析 Ethernet II 帧结构,点击首部细节信息栏中的“Ethernet II”行,有关信

息展开如图 28 所示。

图 28 Ethernet II 帧详细信息

其中看到源 MAC 地址(src)为 b4:6d:83:16:1f:a7,目的 MAC 地址(dst)为 6c:59:40:ee:f6:c6;以太类型字段中值为 0x0800,表示该帧封装了 IP 数据报(版本号是4);以及 MAC 地址分配的相关信息。

2) 分析以太帧结构

将计算机联入网络,打开 Wireshark 俘获分组,从本机向选定的 Web 服务器发送 Ping报文。回答下列问题:

(1) 本机的 48 比特以太网 MAC 地址是什么?

答:b4:6d:83:16:1f:a7。

(2) 以太帧中目的 MAC 地址是什么?它是你选定的远地 Web 服务器的 MAC 地址吗?

(提示:不是)那么,该地址是什么设备的 MAC 地址呢?(这是一个经常会误解的问题,希望

搞明白。)

答:该地址实际是路由器网关的MAC地址。

(3) 给出 2 字节以太类型字段的十六进制的值。它表示该以太帧包含了什么样的协议?

答:包含了IP协议。

(4)上网查找如果其中封装的 IPv6 协议,其值应为多少?

答: 0x86DD(IPv6)

在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)

六、实验体会、质疑和建议

本次实验我初步了解了Ethernet II 帧结构,也学会了网络抓包。中我了如何去过滤各种不同的数据包,找到要分析的协议数据包。

Ethernet II 就是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)本次实验我初步了解了Ethernet II 帧结构,也学会了网络抓包。Ethernet II 就是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)

另外这个实验分析出Ethernet II 帧,知道以太帧目的MAC地址实际上是路由器网关的MAC地址

Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+

(注:1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。

ISL封装后可达1548字节,802.1Q封装后可达1522字节)。

接下来的2个字节标识出以太网帧所携带的上层数据类型,如下:

IPv4: 0x0800

ARP:0x0806

PPPoE:0x8864

802.1Q tag: 0x8100

IPV6: 0x86DD

MPLS Label:0x8847

在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)

2.6 数据链路层数据帧协议分析

实验数据链路层的帧分析 一、实验目的 分析 TCP、UDP的数据链路层帧结构、 二、准备工作 虚拟机XP,虚拟网卡设置,NAT模式,TCP/IP参数设置自动获取。本实验需安装抓包工具软件IPTool。 三、实验内容及步骤 1.运行ipconfig命令 在Windows的命令提示符界面中输入命令:ipconfig /all,会显示本机的网络配置信息。 2.运行抓包工具软件 双击抓把工具软件图标,输入所需参数,和抓包过滤参数,点击捕捉。 3.进行网络访问 进行网络访问,下载文件/搜索资料/www访问/登录邮件系统等均可。 4.从抓包工具中选择典型数据帧 5.保存捕获的数据帧 6.捕获数据帧并分析 1、启动网络抓包工具软件在网络内进行捕获,获得若干以太网帧。 2、对其中的5-10个帧的以太网首部进行观察和分析,分析的内容为:源物理地址、目的物理地址、上层协议类型。 实验过程: 1.TCP协议数据包、数据帧分析 启动IPTool,IE访问https://www.360docs.net/doc/ee16630623.html,站点,使用iptool进行数据报的捕获。 TCP报文如下图:

根据所抓的数据帧进行分析: (1)MAC header 目的物理地址:00:D0:F8:BC:E7:06 源物理地址:00:16:EC:B2:BC:68 Type是0x800:意思是封装了ip数据报(2)ip数据报

由以上信息可以得出: ①版本:占4位,所以此ip是ipv4 ②首部长度:占4 位,可表示的最大十进制数值是15。此ip数据报没有选项,故它的最大十进制为5。 ③服务:占8 位,用来获得更好的服务。这里是0x00 ④总长度:总长度指首都及数据之和的长度,单位为字节。因为总长度字段为16位,所以数据报的最大长度为216-1=65 535字节。 此数据报的总长度为40字节,数据上表示为0x0028。 ⑤标识(Identification):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接的服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。 在这个数据报中标识为18358,对应报文16位为47b6 ⑥标志(Flag):占3 位,但目前只有2位有意义。标志字段中的最低位记为MF (More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF(Don't Fragment),意思是“不能分片”。只有当DF=0时才允许分片。这个报文的标志是010,故表示为不分片!对应报文16位为0x40。 ⑦片偏移:因为不分片,故此数据报为0。对应报文16位为0x00。 ⑧生存时间:占8位,生存时间字段常用的英文缩写是TTL (Time To Live),其表明数据报在网络中的寿命。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于1 秒,就把TTL值减1。当TTL值为0时,就丢弃这个数据报。经分析,这个数据报的的TTL为64跳!对应报文16位为0x40。 ⑨协议:占8 位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。这个ip数据报显示使用得是TCP协议对应报文16位为0x06。

数据结构实验报告格式

《数据结构课程实验》大纲 一、《数据结构课程实验》的地位与作用 “数据结构”是计算机专业一门重要的专业技术基础课程,是计算机专业的一门核心的关键性课程。本课程较系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术,并做了性能分析和比较,内容非常丰富。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。 由于以下原因,使得掌握这门课程具有较大的难度: (1)内容丰富,学习量大,给学习带来困难; (2)贯穿全书的动态链表存储结构和递归技术是学习中的重点也是难点; (3)所用到的技术多,而在此之前的各门课程中所介绍的专业性知识又不多,因而加大了学习难度; (4)隐含在各部分的技术和方法丰富,也是学习的重点和难点。 根据《数据结构课程》课程本身的技术特性,设置《数据结构课程实验》实践环节十分重要。通过实验实践内容的训练,突出构造性思维训练的特征, 目的是提高学生组织数据及编写大型程序的能力。实验学时为18。 二、《数据结构课程实验》的目的和要求 不少学生在解答习题尤其是算法设计题时,觉得无从下手,做起来特别费劲。实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。 为了帮助学生更好地学习本课程,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的一些技术。数据结构中稍微复杂一些的算法设计中可能同时要用到多种技术和方法,如算法设计的构思方法,动态链表,算法的编码,递归技术,与特定问题相关的技术等,要求重点掌握线性链表、二叉树和树、图结构、数组结构相关算法的设计。在掌握基本算法的基础上,掌握分析、解决实际问题的能力。 三、《数据结构课程实验》内容 课程实验共18学时,要求完成以下六个题目: 实习一约瑟夫环问题(2学时)

(完整版)数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1 .实验目的 (1 )掌握使用Visual C++ 6.0 上机调试程序的基本方法; (2 )掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2 .实验要求 (1 )认真阅读和掌握和本实验相关的教材内容。 (2 )认真阅读和掌握本章相关内容的程序。 (3 )上机运行程序。 (4 )保存和打印出程序的运行结果,并结合程序进行分析。 (5 )按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>// 头文件 #include// 库头文件------ 动态分配内存空间 typedef int elemtype;// 定义数据域的类型 typedef struct linknode// 定义结点类型 { elemtype data;// 定义数据域 struct linknode *next;// 定义结点指针 }nodetype; 2)创建单链表

nodetype *create()// 建立单链表,由用户输入各结点data 域之值, // 以0 表示输入结束 { elemtype d;// 定义数据元素d nodetype *h=NULL,*s,*t;// 定义结点指针 int i=1; cout<<" 建立一个单链表"<> d; if(d==0) break;// 以0 表示输入结束 if(i==1)// 建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));// 表示指针h h->data=d;h->next=NULL;t=h;//h 是头指针 } else// 建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t 始终指向生成的单链表的最后一个节点

Ethernet帧结构解析..

实验一Ethernet帧结构解析 一.需求分析 实验目的:(1)掌握Ethernet帧各个字段的含义与帧接收过程; (2)掌握Ethernet帧解析软件设计与编程方法; (3)掌握Ethernet帧CRC校验算法原理与软件实现方法。 实验任务:(1)捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet II)格式的帧并进行分析。 (2)捕捉并分析局域网上的所有ethernet broadcast帧进行分析。 (3)捕捉局域网上的所有ethernet multicast帧进行分析。 实验环境:安装好Windows 2000 Server操作系统+Ethereal的计算机 实验时间; 2节课 二.概要设计 1.原理概述: 以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802.2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。以太网帧是OSI参考模型数据链路层的封装,网络层的数据包被加上帧头和帧尾,构成可由数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定不变的,但根据被封装数据包大小的不同,以太网帧的长度也随之变化,变化的范围是64-1518字节(不包括8字节的前导字)。 帧格式Ethernet II和IEEE802.3的帧格式分别如下。 EthernetrII帧格式: ---------------------------------------------------------------------------------------------- | 前序| 目的地址| 源地址| 类型| 数据 | FCS | ---------------------------------------------------------------------------------------------- | 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte| IEEE802.3一般帧格式 ----------------------------------------------------------------------------------------------------------- | 前序| 帧起始定界符| 目的地址| 源地址| 长度| 数据| FCS | ----------------------------------------------------------------------------------------------------------- | 7 byte | 1 byte | 2/6 byte | 2/6 byte| 2 byte| 46~1500 byte | 4 byte | Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式 2程序流程图:

数据结构实验报告

数据结构实验报告 一.题目要求 1)编程实现二叉排序树,包括生成、插入,删除; 2)对二叉排序树进行先根、中根、和后根非递归遍历; 3)每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。 4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么? 二.解决方案 对于前三个题目要求,我们用一个程序实现代码如下 #include #include #include #include "Stack.h"//栈的头文件,没有用上 typedefintElemType; //数据类型 typedefint Status; //返回值类型 //定义二叉树结构 typedefstructBiTNode{ ElemType data; //数据域 structBiTNode *lChild, *rChild;//左右子树域 }BiTNode, *BiTree; intInsertBST(BiTree&T,int key){//插入二叉树函数 if(T==NULL) { T = (BiTree)malloc(sizeof(BiTNode)); T->data=key; T->lChild=T->rChild=NULL; return 1; } else if(keydata){ InsertBST(T->lChild,key); } else if(key>T->data){ InsertBST(T->rChild,key); } else return 0; } BiTreeCreateBST(int a[],int n){//创建二叉树函数 BiTreebst=NULL; inti=0; while(i

802.11帧结构分析

802.11帧结构分析 1. 80 2.11介绍 1.1 80 2.11概述 802.11协议组是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。IEEE 最初制定的一个无线局域网标准,主要用于解决办公室局域网和校园网中用户与用户终端的无线接入,业务主要限于数据存取,速率最高只能达到2Mbps。 虽然WI-FI使用了802.11的媒体访问控制层(MAC)和物理层(PHY),但是两者并不完全一致。在以下标准中,使用最多的应该是802.11n标准,工作在2.4GHz频段,可达600Mbps(理论值)。 IEEE 802.11是一个协议簇,主要包含以下规范: a.物理层规范:802.11b,802.11a,802.11g; b.增强型MAC层规范:802.11i,802.11r,802.11h等; c.高层协议规范:802.11f,802.11n,802.11p,802.11s等。 802.11中定义了三种物理层规范,分别是:频率跳变扩展频谱(FHSS)PHY规范、直接序列扩展频谱(DSSS)PHY规范和红外线(IR)PHY规范,由于物理层的规范与无线信息安全体系关系不大,故本文不对物理层做过多阐述。 802.11同802.3一样,主要定义了OSI模型中物理层和数据链路层的相关规范,其中数据链路层又可分为MAC子层和LLC子层,802.11与802.3的LLC子层统一由802.2描述。 1.2 80 2.11拓扑结构及服务类型 WLAN有以下三种网络拓扑结构: a.独立基本服务集(Independent BSS, IBSS)网络(也叫ad-hoc网络),如图1所示。 b.基本服务集(Basic Service Set, BSS)网络,如图2所示。 c.扩展服务集(Extent Service Set, ESS)网络,如图2所示。 STA1 STA2 图1

数据结构实验报告图实验

图实验一,邻接矩阵的实现 1.实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现 2.实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历 3.设计与编码 MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10;

template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ } void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, arcNum; }; #endif MGraph.cpp

#include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) {

分析数据链路层帧结构

南华大学计算机学院 实验报告 课程名称计算机网络原理 姓名杨国峰 学号20144360205 专业网络2班 任课教师谭邦 日期 2016年4月4日 成绩 南华大学

实验报告正文: 一、实验名称分析数据链路层帧结构 二、实验目的: 1. 掌握使用Wireshark分析俘获的踪迹文件的基本技能; 2. 深刻理解Ethernet帧结构。 3. 深刻理解IEEE 802.11帧结构。 三、实验内容和要求 1. 分析俘获的踪迹文件的Ethernet帧结构; 2. 分析IEEE 802.11帧结构。 四、实验环境

五、操作方法与实验步骤 1.Ethernet帧结构(本地连接与无线连接)

2.IEEE 802.11帧结构

六、实验数据记录和结果分析 1.Ethernet帧结构(本地连接为例) Ethernet II, Src: Tp-LinkT_95:c6:20 (fc:d7:33:95:c6:20), Dst: Clevo_00:a1:18 (80:fa:5b:00:a1:18) 以太网协议版本II,源地址:厂名_序号(网卡地址),目的:厂名_序号(网卡地址) Destination: Clevo_00:a1:18 (80:fa:5b:00:a1:18)目的:厂名_序号(网卡地址) Source: Tp-LinkT_95:c6:20 (fc:d7:33:95:c6:20) 源:厂名_序号(网卡地址) Type: IP (0x0800) 帧内封装的上层协议类型为IP Padding: 000000000000 所有内边距属性 2.分析IEEE 802.11帧结构 Protocol version:表明版本类型,现在所有帧里面这个字段都是0x00。 *Type:指明数据帧类型,是管理帧,数据帧还是控制帧。 Subtype:指明数据帧的子类型,因为就算是控制帧,控制帧还分RTS帧,CTS帧,ACK 帧等等,通过这个域判断出该数据帧的具体类型。 To DS/From DS:这两个数据帧表明数据包的发送方向,分四种可能情况讨论: **若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输。 **若数据包To DS 为0,From DS为1,表明该数据帧来自AP。 **若数据包To DS为1,From DS为0,表明该数据帧发送往AP。若数据包To DS为1,From DS为1,表明该数据帧是从AP发送自AP的,也就是说这个是个WDS(Wireless Distribution System)数据帧。 Moreflag:分片标志,若数据帧被分片了,那么这个标志为1,否则为0。 *Retry:表明是否是重发的帧,若是为1,不是为0。 PowerManage:当网络主机处于省电模式时,该标志为1,否则为0。 Moredata:当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据帧中该位为1,否则为0。 Wep:加密标志,若为1表示数据内容加密,否则为0。 *Order 这个表示用于PCF模式下。 Duration/ID(持续时间/标识):表明该帧和它的确认帧将会占用信道多长时间;对于帧控制域子类型为:Power Save-Poll的帧,该域表示了STA的连接身份(AID, Association Indentification)。

数据结构图的遍历实验报告

实验项目名称:图的遍历 一、实验目的 应用所学的知识分析问题、解决问题,学会用建立图并对其进行遍历,提高实际编程能力及程序调试能力。 二、实验容 问题描述:建立有向图,并用深度优先搜索和广度优先搜素。输入图中节点的个数和边的个数,能够打印出用邻接表或邻接矩阵表示的图的储存结构。 三、实验仪器与设备 计算机,Code::Blocks。 四、实验原理 用邻接表存储一个图,递归方法深度搜索和用队列进行广度搜索,并输出遍历的结果。 五、实验程序及结果 #define INFINITY 10000 /*无穷大*/ #define MAX_VERTEX_NUM 40 #define MAX 40 #include #include #include #include

typedef struct ArCell{ int adj; }ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { char name[20]; }infotype; typedef struct { infotype vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; int vexnum,arcnum; }MGraph; int LocateVex(MGraph *G,char* v) { int c = -1,i; for(i=0;ivexnum;i++) if(strcmp(v,G->vexs[i].name)==0) { c=i; break;} return c;} MGraph * CreatUDN(MGraph *G)//初始化图,接受用户输入{ int i,j,k,w; char v1[20],v2[20]; printf("请输入图的顶点数,弧数:"); scanf("%d%d",&G->vexnum,&G->arcnum);

实验一-以太网链路层帧格式分析报告

实验一以太网链路层帧格式分析 实验目的 1、分析Ethernet V2 标准规定的MAC 层帧结构,了解IEEE802.3 标准规定的MAC 层帧结构和TCP/IP 的主要协议和协议的层次结构; 2、掌握网络协议分析软件的基本使用方法; 3、掌握网络协议编辑软件的基本使用方法。 实验学时 3学时 实验类型 验证型 实验容 1、学习网络协议编辑软件的各组成部分及其功能; 2、学习网络协议分析软件的各组成部分及其功能; 3、学会使用网络协议编辑软件编辑以太网数据包; 4、理解MAC地址的作用; 5、理解MAC首部中的LLC—PDU 长度/类型字段的功能; 6、学会观察并分析地址本中的MAC地址。 实验流程

实验环境 局域网环境,1台PC机。 实验原理 详见《计算机网络》教材(P79和P92)或相关书籍,然后进行说明阐述 实验步骤 步骤1:运行ipconfig命令 1、在Windows的命令提示符界面中输入命令:ipconfig /all,会显示本机的网络信息: 2、观察运行结果,获得本机的以太网地址。

步骤2:编辑LLC信息帧并发送 1、在主机A,打开协议编辑软件,在工具栏选择“添加”,会弹出“协议模版”的对话框,如图所示,在“选择生成的网络包”下拉列表中选择“LLC协议模版”,建立一个LLC帧; 添加一个数据包 2、在“协议模版”对话框中点击“确定”按钮后,会出现新建立的数据帧,此时在协议编辑软件的各部分会显示出该帧的信息。如图所示:

新建的LLC帧 数据包列表区中显示:新帧的序号(为0)、概要信息; 协议树中显示以太网MAC层协议; 数据包编辑区中显示新帧各字段的默认值; 十六进制显示区中显示新帧对应的十六进制信息。 3、编辑LLC帧 在数据包编辑区中编辑该帧;具体步骤为: 编辑LLC帧 填写“目的物理地址”字段; 方法一:手工填写。 方法二:选择”地址本”中主机B的IP地址,确定后即可填入主机B的MAC地址;

数据结构实验报告模板

2009级数据结构实验报告 实验名称:约瑟夫问题 学生姓名:李凯 班级:21班 班内序号:06 学号:09210609 日期:2010年11月5日 1.实验要求 1)功能描述:有n个人围城一个圆圈,给任意一个正整数m,从第一个人开始依次报数,数到m时则第m个人出列,重复进行,直到所有人均出列为止。请输出n个人的出列顺序。 2)输入描述:从源文件中读取。 输出描述:依次从显示屏上输出出列顺序。 2. 程序分析 1)存储结构的选择 单循环链表 2)链表的ADT定义 ADT List{ 数据对象:D={a i|a i∈ElemSet,i=1,2,3,…n,n≧0} 数据关系:R={< a i-1, a i>| a i-1 ,a i∈D,i=1,2,3,4….,n} 基本操作: ListInit(&L);//构造一个空的单链表表L ListEmpty(L); //判断单链表L是否是空表,若是,则返回1,否则返回0. ListLength(L); //求单链表L的长度 GetElem(L,i);//返回链表L中第i个数据元素的值; ListSort(LinkList&List) //单链表排序 ListClear(&L); //将单链表L中的所有元素删除,使单链表变为空表 ListDestroy(&L);//将单链表销毁 }ADT List 其他函数: 主函数; 结点类; 约瑟夫函数 2.1 存储结构

[内容要求] 1、存储结构:顺序表、单链表或其他存储结构,需要画示意图,可参考书上P59 页图2-9 2.2 关键算法分析 结点类: template class CirList;//声明单链表类 template class ListNode{//结点类定义; friend class CirList;//声明链表类LinkList为友元类; Type data;//结点的数据域; ListNode*next;//结点的指针域; public: ListNode():next(NULL){}//默认构造函数; ListNode(const Type &e):data(e),next(NULL){}//构造函数 Type & GetNodeData(){return data;}//返回结点的数据值; ListNode*GetNodePtr(){return next;}//返回结点的指针域的值; void SetNodeData(Type&e){data=e;}//设置结点的数据值; void SetNodePtr(ListNode*ptr){next=ptr;} //设置结点的指针值; }; 单循环链表类: templateclass CirList { ListNode*head;//循环链表头指针 public: CirList(){head=new ListNode();head->next=head;}//构造函数,建立带头节点的空循环链表 ~CirList(){CirListClear();delete head;}//析构函数,删除循环链表 void Clear();//将线性链表置为空表 void AddElem(Type &e);//添加元素 ListNode *GetElem(int i)const;//返回单链表第i个结点的地址 void CirListClear();//将循环链表置为空表 int Length()const;//求线性链表的长度 ListNode*ListNextElem(ListNode*p=NULL);//返回循环链表p指针指向节点的直接后继,若不输入参数,则返回头指针 ListNode*CirListRemove(ListNode*p);//在循环链表中删除p指针指向节点的直接后继,且将其地址通过函数值返回 CirList&operator=(CirList&List);//重载赋

802.11帧结构分析

帧结构分析 1. 介绍 概述 协议组是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。IEEE最初制定的一个无线局域网标准,主要用于解决办公室局域网和校园网中用户与用户终端的无线接入,业务主要限于数据存取,速率最高只能达到2Mbps。 虽然WI-FI使用了的媒体访问控制层(MAC)和物理层(PHY),但是两者并不完全一致。在以下标准中,使用最多的应该是标准,工作在频段,可达600Mbps(理论值)。 IEEE 是一个协议簇,主要包含以下规范: a.物理层规范:,,; b.增强型MAC层规范:,,等; c.高层协议规范:,,,等。 中定义了三种物理层规范,分别是:频率跳变扩展频谱(FHSS)PHY规范、直接序列扩展频谱(DSSS)PHY规范和红外线(IR)PHY规范,由于物理层的规范与无线信息安全体系关系不大,故本文不对物理层做过多阐述。 同一样,主要定义了OSI模型中物理层和数据链路层的相关规范,其中数据链路层又可分为MAC子层和LLC子层,与的LLC子层统一由描述。 拓扑结构及服务类型 WLAN有以下三种网络拓扑结构: a.独立基本服务集(Independent BSS, IBSS)网络(也叫ad-hoc网络),如图1所 示。 b.基本服务集(Basic Service Set, BSS)网络,如图2所示。 c.扩展服务集(Extent Service Set, ESS)网络,如图2所示。 STA1STA2 图1

其中,ESS中的DS(分布式系统)是一个抽象系统,用来连接不同BSS的通信信道(通过路由服务),这样就可以消除BSS中STA与STA之间直接传输距离受到物理设备的限制。 根据拓扑结构可以得出的两类服务: 站点服务SS(每个STA都要有的服务):认证(Authentication)、解除认证(Deauthentication)、加密(Privacy)、MSDU传递(MSDU delivery); 分布式系统服务DSS(DS特有服务):关联(Association)、解除关联(Deassociation)、分布(Distribution)、集成(Integration)、重关联(Ressociation)。 2. 帧结构分析 帧格式概述 无线中的数据传播有如表格1所示的格式: preamble是一个前导标识,用于接收设备识别。 PLCP域中包含一些物理层的协议参数,显然Preamble及PLCP是物理层的一些细节。 AP STA1STA2 图2 图3

数据结构实验报告图实验

邻接矩阵的实现 1. 实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现2. 实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历3.设计与编码MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; }

int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: " cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } }

以太网数据帧的格式分析比较

一、 以太网数据帧的格式分析 大家都知道我们目前的局域网大多数是以太网,但以太网有多种标准,其数据帧有多种格式,恐怕有许多人不是太清楚,本文的目的就是通过帧格式和Sniffer捕捉的数据包解码来区别它们。 以太网这个术语一般是指数字设备公司(Digital Equipment)、英特尔公司(Intel)和施乐公司(Xerox)在1982年联合公布的一个标准(实际上它是第二版本,第一版本早在1972年就在施乐公司帕洛阿尔托研究中心PARC里产生了)。它是目前TCP/IP网络采用的主要的局域网技术。它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率为10 Mb/s,地址为48 bit。 1985年,IEEE(电子电气工程师协会) 802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。不幸的是,802.2和802.3定义了一个与以太网不同的帧格式,加上1983年Novell为其Netware 开发的私有帧,这些给以太网造成了一定的混乱,也给我们学习以太网带来了一定的影响。 1、通用基础 注:* VLAN Tag帧和Gigabit Jumbo帧可能会超过这个限制值 图1-1 图1-1中,数据链路层头(Header)是数据链路层的控制信息的长度不是固定的,根据

实验3分析mac帧格式

实验3 分析MAC帧格式 实验目的 1.了解MAC帧首部的格式; 2.理解MAC帧固定部分的各字段含义; 3.根据MAC帧的内容确定是单播,广播。 实验设备 Winpcap、Wireshark等软件工具 相关背景 1.据包捕获的原理:为了进行数据包,网卡必须被设置为混杂模式。在现实的网络环境中,存在着许多共享式的以太网络。这些以太网是通过Hub 连接起来的总线网络。在这种拓扑结构的网络中,任何两台计算机进行通信的时候,它们之间交换的报文全部会通过Hub进行转发,而Hub以广播的方式进行转发,网络中所有的计算机都会收到这个报文,不过只有目的机器会进行后续处理,而其它机器简单的将报文丢弃。目的机器是指自身MAC 地址与消息中指定的目的MAC 地址相匹配的计算机。网络监听的主要原理就是利用这些原本要被丢弃的报文,对它们进行全面的分析,这样就可以得到整个网络中信息的现状。 2.Tcpdump的简单介绍:Tcpdump是Unix平台下的捕获数据包的一个架构。Tcpdump最初有美国加利福尼亚大学的伯克利分校洛仑兹实验室的Van Jcaobson、Craig Leres和 Steve McCanne共同开发完成,它可以收集网上的IP数据包文,并用来分析网络可能存在的问题。现在,Tcpdump已被移植到几乎所有的UNIX系统上,如:HP-UX、SCO UNIX、SGI Irix、SunOS、Mach、Linux 和FreeBSD等等。更为重要的是Tcpdump是一个公开源代码和输出文件格式的软件,我们可以在Tcpdunp的基础上进行改进,加入辅助分析的功能,增强其网络分析能力。(详细信息可以参看相关的资料)。 3.Winpcap的简单介绍:WinPcap是由意大利Fulvio Risso和Loris Degioanni等人提出并实现的应用于Win32 平台的数据包捕获与分析的一种软件包,包括内核级的数据包监听设备驱动程序、低级动态链接库和高级系统无关库,其基本结构如图3-1所示:

数据结构实验报告无向图

《数据结构》实验报告 ◎实验题目: 无向图的建立与遍历 ◎实验目的:掌握无向图的邻接链表存储,熟悉无向图的广度与深度优先遍历。 ◎实验内容:对一个无向图以邻接链表存储,分别以深度、广度优先非递归遍历输出。 一、需求分析 1.本演示程序中,输入的形式为无向图的邻接链表形式,首先输入该无向图的顶点数和边数,接着输入顶点信息,再输入每个边的顶点对应序号。 2.该无向图以深度、广度优先遍历输出。 3.本程序可以实现无向图的邻接链表存储,并以深度、广度优先非递归遍历输出。 4.程序执行的命令包括:(1)建立一个无向图的邻接链表存储(2)以深度优先遍历输出(3)以广度优先遍历输出(4)结束 5.测试数据: 顶点数和边数:6,5 顶点信息:a b c d e f 边的顶点对应序号: 0,1 0,2 0,3 2,4 3,4 深度优先遍历输出: a d e c b f 广度优先遍历输出: a d c b e f 二概要设计 为了实现上述操作,应以邻接链表为存储结构。 1.基本操作: void createalgraph(algraph &g) 创建无向图的邻接链表存储 void dfstraverseal(algraph &g,int v)

以深度优先遍历输出 void bfstraverseal(algraph &g,int v) 以广度优先遍历输出 2.本程序包含四个模块: (1)主程序模块 (2)无向图的邻接链表存储模块 (3)深度优先遍历输出模块 (4)广度优先遍历输出模块 3.模块调用图: 三详细设计 1.元素类型,结点类型和指针类型:typedef struct node { int adjvex; struct node *next; }edgenode; typedef struct vnode { char vertex; edgenode *firstedge; }vertxnode; typedef vertxnode Adjlist[maxvernum]; typedef struct { Adjlist adjlist; int n,e; }algraph; edgenode *s; edgenode *stack[maxvernum],*p; 2.每个模块的分析: (1)主程序模块 int main()

数据结构实验报告及心得体会

2011~2012第一学期数据结构实验报告 班级:信管一班 学号:201051018 姓名:史孟晨

实验报告题目及要求 一、实验题目 设某班级有M(6)名学生,本学期共开设N(3)门课程,要求实现并修改如下程序(算法)。 1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统), 输出实验结果。(15分) 2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学 生的学号、姓名和成绩。 3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。 二、实验要求 1.修改算法。将奇偶排序算法升序改为降序。(15分) 2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)) 3.编译、链接以上算法,按要求写出实验报告(25)。 4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。 5.用A4纸打印输出实验报告。 三、实验报告说明 实验数据可自定义,每种排序算法数据要求均不重复。 (1) 实验题目:《N门课程学生成绩名次排序算法实现》; (2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性; (3) 实验要求:对算法进行上机编译、链接、运行; (4) 实验环境(Windows XP-sp3,Visual c++); (5) 实验算法(给出四种排序算法修改后的全部清单); (6) 实验结果(四种排序算法模拟运行后的实验结果); (7) 实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法) Score.c #include "stdio.h" #include "string.h" #define M 6 #define N 3 struct student { char name[10]; int number; int score[N+1]; /*score[N]为总分,score[0]-score[2]为学科成绩*/ }stu[M]; void changesort(struct student a[],int n,int j) {int flag=1,i; struct student temp; while(flag) { flag=0; for(i=1;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1; } for(i=0;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1;

实验3 分析MAC帧格式分析

实验3 分析MAC帧格式 3.1 实验目的 1.了解MAC帧首部的格式; 2.理解MAC帧固定部分的各字段含义; 3.根据MAC帧的内容确定是单播,广播。 3.2 实验设备 Winpcap、Wireshark等软件工具 3.3 相关背景 1.据包捕获的原理:为了进行数据包,网卡必须被设置为混杂模式。在现实的网络环境中,存在着许多共享式的以太网络。这些以太网是通过Hub 连接起来的总线网络。在这种拓扑结构的网络中,任何两台计算机进行通信的时候,它们之间交换的报文全部会通过Hub进行转发,而Hub以广播的方式进行转发,网络中所有的计算机都会收到这个报文,不过只有目的机器会进行后续处理,而其它机器简单的将报文丢弃。目的机器是指自身MAC 地址与消息中指定的目的MAC 地址相匹配的计算机。网络监听的主要原理就是利用这些原本要被丢弃的报文,对它们进行全面的分析,这样就可以得到整个网络中信息的现状。 2.Tcpdump的简单介绍:Tcpdump是Unix平台下的捕获数据包的一个架构。Tcpdump最初有美国加利福尼亚大学的伯克利分校洛仑兹实验室的Van Jcaobson、Craig Leres和Steve McCanne共同开发完成,它可以收集网上的IP数据包文,并用来分析网络可能存在的问题。现在,Tcpdump已被移植到几乎所有的UNIX系统上,如:HP-UX、SCO UNIX、SGI Irix、SunOS、Mach、Linux和FreeBSD等等。更为重要的是Tcpdump是一个公开源代码和输出文件格式的软件,我们可以在Tcpdunp的基础上进行改进,加入辅助分析的功能,增强其网络分析能力。(详细信息可以参看相关的资料)。 3.Winpcap的简单介绍:WinPcap是由意大利Fulvio Risso和Loris Degioanni等人提出并实现的应用于Win32 平台的数据包捕获与分析的一种软件包,包括内核级的数据包监听设备驱动程序、低级动态链接库(Packet.dll)和高级系统无关库(Winpcap.dll),其基本结构如图3-1所示:

相关文档
最新文档