MAC帧格式分析实验

MAC帧格式分析实验
MAC帧格式分析实验

实验MAC帧格式分析

姓名:学号:班级:

实验要求:

1、写出自己主机的IP地址和MAC地址

例如:

IP:192.168.1.110

MAC地址:00-23-54-d8-ca-69

2、下载网络数据包抓捕工具软件,安装之后,进行数据包抓捕操作。对数据帧格式进行分析。

(多使用几个抓捕工具软件进行实验操作)

例如:“Ethereal”软件、“Commview”软件、“Sniffer”软件等。(可以用其他的软件)

简要分析:(用十六进制和十进制表示出来)

源MAC地址:

目的MAC地址:

源IP地址:

目的IP地址:

数据包其他信息。

3、改变自己的MAC地址,进行再次数据包抓捕,并进行帧格式分析。

例如:MAC地址改变为00-25-69-AB-21-34。

4、用无线上网方式(包括无线路由器WiFi方式或者3G方式),进行数据包抓捕,并分析数据帧格式。

5、看看能不能改变MAC地址,再次进行数据包抓捕,并进行帧格式分析。

6、可以试试对应不同的网络应用(文本文件、多媒体文件等),进行数据包抓捕,数据帧格式分析。

同学们做完实验测试之后,把做好的实验结果,发到邮箱:wlxyshiyan@https://www.360docs.net/doc/4610719229.html,。邮件要求:

主题:学号,姓名,班级。

附件:包括使用的软件包和数据帧格式结果。(附件为以学号,姓名,班级命名

的压缩文件)

MAC帧格式分析与应用

IEEE 802.3 MAC帧格式的分析与应用 学生姓名:学号:指导老师: 摘要本文介绍了IEEE802.3标准中规定的两种以太网帧格式,基本帧格式和扩展帧格式。得出以下结论,IEEE802.3-2005基本帧格式,主要由前导、SDF、DA、SA、Length/Type、DATA、Pad、FCS等8部分组成,还可增添4字节的扩展部分,其总长度为64-1518字节。扩展帧格式在基本帧格式上增加了“802.1Q TAG”类型和TCI字段,可实现对用户优先级和VLAN加标帧的控制。 关键词 IEEE 802.3 基本帧格式扩展帧格式 Abstract This essay introduces two different kinds of Ethernet MAC frame,the basic and Q-tagged. We concluded that,the basic MAC frame of IEEE 802.3-2005,whose length is 64-1518 bytes, are mainly consisted of by 8 parts,including Preabmle, SDF,DA,SA,Length/Type,Data,Pad,FCS, and additional part,sized 4 bytes. While, the Q-tagged frame adds another two parts on the bisas of the basic one, that is ‘802.1Q TAQ’ and ‘TCI’, whose fuction are dividually to control the VLAN Tagged Frame and the user’s priority. Keyword IEEE 802.3 Basic Frame Q-tagged Frame

modbus功能码及格式

1、“01”读取线圈状态 发送: 功能代码1字节0x01 起始地址2字节0x0000~0xFFFF 线圈数量2字节1~2000(0x7D0)接收: 功能代码1字节0x01 字节数1字节N 线圈状态n字节n = N/N+1 N=读取线圈个数/ 8 ,如果余数不为0则N=N+1 出错时的返回: 功能代码1字节0x81 错误代码1字节01/02/03/04 例子: 2、“02”读取输入状态 功能代码1字节0x02 起始地址2字节0x0000~0xFFFF 输入点数量2字节1~2000(0x7D0) 功能代码1字节0x02 字节数1字节N 输入点状态n字节n = N/N+1 出错时的返回: 功能代码1字节0x82 错误代码1字节01/02/03/04 例子:

3、“03”保持型寄存器读取 发送: 功能代码1字节0x03 起始地址2字节0x0000~0xFFFF 寄存器数量2字节1~125(0x7D)接收: 功能代码1字节0x03 字节数1字节2*N 寄存器值N*2字节 N=寄存器数量 出错时的返回: 功能代码1字节0x83 错误代码1字节01/02/03/04 例子: 4、“05”写单一线圈 功能代码1字节0x05 线圈地址2字节0x0000~0xFFFF 写入值2字节0x0000或0xFF00 功能代码1字节0x05 线圈地址2字节0x0000~0xFFFF 写入值2字节0x0000或0xFF00出错时的返回: 功能代码1字节0x85 错误代码1字节01/02/03/04 例子:

5、“06”写单一寄存器 功能代码1字节0x06 寄存器地址2字节0x0000~0xFFFF 写入值2字节0x0000~0xFFFF 功能代码1字节0x06 寄存器地址2字节0x0000~0xFFFF 写入值2字节0x0000~0xFFFF 功能代码1字节0x86 错误代码1字节01/02/03/04 例子: 6、“15(0x0F)”写多线圈 发送: 功能代码1字节0x0F 起始地址2字节0x0000~0xFFFF 写入线圈个数2字节0x0001~0x07B0写入字节数1字节N 写入值N字节 功能代码1字节0x0F 起始地址2字节0x0000~0xFFFF 写入线圈个数2字节0x0001或0x07B0 功能代码1字节0x8F 错误代码1字节01/02/03/04 例子:

实验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所示:

MODBUS协议(功能码及报文解析)

MODBUS协议 Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求 相对容易的工业网络部署 对供应商来说,修改移动原生的位或字节没有很多限制 Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。 Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行[1]。 对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通讯(serial communication)方式。RTU 格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/ TCP变种,这种方式不需要校验和的计算。 对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。 Modbus 有一个扩展版本Modbus Plus(Modbus+或者MB +),不过此协定是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mb it/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PCMCIA 总线的板卡。 Modbus协议是一个master/slave 架构的协议。有一个节点是master 节点,其他使用Modbus协议参与通信的节点是slave 节点。每一个slave 设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启动指令)。 一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令(地址0例外,指定地址0 的指令是广播指令,所有收到指令的设备都会执行,不过不回应指令)。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。基本的ModBus命令能指令一个R

实验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所示:

MODBUS协议(功能码及报文解析)要点

Modbus是一种串行通信协议,是于1979年,为使用可编程逻辑控制器(PLC)而发表的。事实上,它已经成为工业领域通信协议,并且现在是工业电子设备之间相当常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求 相对容易的工业网络部署 对供应商来说,修改移动原生的位或字节没有很多限制 Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remoteterminalunit(RTU)。 Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口物理层进行。 对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。ModbusRTU是一种紧凑的,采用二进制表示数据的方式,ModbusASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通讯(serialcommunication)方式。RTU格式后续的命令/数据带有的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。 对于通过(例如)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。 对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。 Modbus有一个扩展版本ModbusPlus(Modbus+或者MB+),不过此协定是Modicon 专有的,和Modbus不同。它需要一个专门的协处理器来处理类似的高速令牌旋转。

以太网帧格式分析

实验报告 实验名称以太网帧格式分析 姓名学号实验日期 实验报告要求:1.实验目的 2.实验要求 3.实验环境 4.实验作业 5.问题及解决 6.思考问题 7.实验体会 【实验目的】 1.复习Wireshark抓包工具的使用及数据包分析方法。 2.通过分析以太网帧了解以太网数据包传输原理。 【实验要求】 用Wireshark1.4.9截包,分析数据包。 观察以太网帧,Ping同学的IP地址,得到自己和同学的mac地址。 观察以太网广播地址,观察ARP请求的帧中目标mac地址的格式。 用ping-l指定数据包长度,观察最小帧长和最大帧长。 观察封装IP和ARP的帧中的类型字段。 【实验环境】 用以太网交换机连接起来的windows 7操作系统的计算机,通过802.1x方式接入Internet。 【实验中出现问题及解决方法】 1.在使用命令行“ping -l 0 IP”观察最小帧长时抓到了长度为42字节的帧,与理论上最小帧长64字节相差甚远。通过询问教员和简单的分析,知道了缺少字节的原因是当Wireshark抓到这个ping请求包时,物理层还没有将填充(Trailer)字符加到数据段后面,也没有算出最后4字节的校验和序列,导致出现最小42字节的“半成品”帧。可以通过网卡的设置将这个过程提前。 2.在做ping同学主机的实验中,发现抓到的所有ping请求帧中IP数据部分的头校验和都是错误的。原本以为错误的原因与上一个问题有关,即校验和错误是因为物理层还没有将填充字符加到数据段后面。但是这个想法很快被证明是错误的,因为在观察最大帧长时,不需要填充字符的帧也有同样的错误。一个有趣的现象是,封装在更里层的ICMP数据包的校验和都是正确的。这就表明IP层的头校验和错误并没有影响正常通信。进一步观察发现,这些出错的头校验和的值都是0x0000,这显然不是偶然的错误。虽然目前还没有得到权威的答案,但是可以推测,可能是这一项校验实际上并没有被启用。作为中间层的IP头的意义是承上启下,而校验的工作在更需要的上层的IMCP包和下层MAC头中都有,因此没有必要多此一举。 【思考问题】 1.为什么可以ping到同宿舍(连接在同一个交换机上)的主机而ping不到隔壁宿舍的主机? 通常情况下,如果配置正确,设备都连接着同一个网络(互联网),而且没有防火墙等阻拦,就可以正常ping到同一网络中的任何主机。在第一次实验中,我们曾成功地ping到了https://www.360docs.net/doc/4610719229.html,的IP。 在ping其他宿舍的IP时需要通过宿舍的交换机将ping请求先转发给楼层交换机,再由楼层交换机转发给目标IP所在的宿舍交换机。分析无法ping到隔壁宿舍主机的原因,很可能是楼层交换机设置了禁止内部ping的防火墙,阻止了本楼层交换机地址段内的主机相互ping对方。而同宿舍之所以可以相互ping 到,是因为ping请求没有经过楼层交换机,直接由宿舍交换机转发给了目标IP主机。 2.什么是ARP攻击? 让我们继续分析4.1 ARP原理,A得到ARP应答后,将B的MAC地址放入本机缓存。但是本机MAC 缓存是有生存期的,生存期结束后,将再次重复上面的过程。(类似与我们所学的学习网桥)。 然而,ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。 这时,我们假设局域网中的某台机器C冒充B向A发送一个自己伪造的ARP应答,即IP地址为B

Modbus通讯格式详解教程

Modbus通讯协议格式 Modbus通讯协议格式为 主机发送:[开始] [从机地址] [功能代码] [起始寄存器地址高8 位] [低8位] [写单寄存器数高8 位] [低8 位] [LRC 校验码] [CR] [LF] 所以本文依据格式逐个介绍解疑: [开始] 为: [从机地址] 为已知; [功能代码] 的名称、作用将在下面介绍; [寄存器地址]分配及寄存器中值的含义将在下面介绍; [LRC 校验码] 可以用Commix软件算出来,详细请参考Commix相关资料; 最后是实例加以说明验证。 功能码名称作用 01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF) 02 读取输入状态取得一组开关输入的当前状态(ON/OFF) 03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值 04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值 05 强置单线圈强置一个逻辑线圈的通断状态 06 预置单寄存器把具体二进值装入一个保持寄存器 07 读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定 08 回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴 09 编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑 10 控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送 11 读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命

令或其他应答产生通信错误时 12 读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误 13 编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑 14 探询(184/384 484 584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送 15 强置多线圈强置一串连续逻辑线圈的通断 16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器 17 报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态 18 (884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑 19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节 20 读取通用参数(584L)显示扩展存储器文件中的数据信息 21 写入通用参数(584L)把通用参数写入扩展存储文件,或修改之 22~64 保留作扩展功能备用 65~72 保留以备用户功能所用留作用户功能的扩展编码 73~119 非法功能 120~127 保留留作内部作用 128~255 保留用于异常应答 保护器Modbus 通讯协议: 半双工RS485 口,传输距离≤1200 米。 波特率:9600bt; 1 个起始位;8 个数据位,1 位停止位,无奇偶校验位。 选用ASCII 模式,LRC 检测。 保持寄存器分配:

arp帧格式

arp帧格式 IP地址实现了底层网络物理地址的统一,但因特网技术并没有改变底层的物理网络,数据最终还是要在物理网络上传输,而在物理网络中传输时使用的仍是物理地址。 我们知道,当我们在浏览器里面输入网址时,DNS服务器会自动把它解析为IP地址,浏览器实际上查找的是IP地址而不是网址。那么IP地址是如何转换为第二层物理地址(即MAC 地址)的呢?这就是ARP的功能。 一、什么是ARP协议 ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获 得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP 地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行. 二、ARP解析过程 (1)源主机与目的主机位于同一子网中 ①检查本地ARP高速缓存 当要确定同一子网上的目的主机的物理地址时,ARP先检查本地ARP高速缓存,确定IP地址与物理地址的映射,如果包含,则取出目的主机的物理地址,利用这个地址将IP数据报封装成帧。若不存在就进行下一步。 ②向目的主机发送ARP请求 ARP请求以物理广播地址(MAC 全0)在本地子网上广播,并等待目的主机应答,ARP请求包含发送方的IP地址和物理地址,和目的主机的IP地址。 ③将请求方的地址信息写入ARP缓存缓存 由于ARP请求是子网上的广播,因而该子网中的每台主机都会收到广播,并将自己的IP地址和该ARP请求中的主机IP地址进行比较,如果不匹配,那么ARP请求将被忽略,若匹配,那么目的主机将会把发送方的IP地址与物理地址写入本机ARP告诉缓存中。 ④向请求方发送ARP应答 目的主机想发送主机以单播发送一个ARP应答,应答包含本机IP和MAC,以及源机IP和MAC。 ⑤请求方更新ARP高速缓存 源机受到ARP应答后,取出应答中目的主机的IP和MAC,并将其写入本机ARP高速缓存中。

常见报文格式帧结构

常见报文格式汇总 1.1Ethernet数据包格式(RFC894) 1、目的Mac的最高字节的第8位如果为1,表明此包是以太网组播/广播包,送给CPU处理。 2、将目的Mac和本端口的MAC进行比较,如果不一致就丢弃。 3、获取以太网类型字段Type/Length。 0x0800→IP 继续进行3层的IP包处理。 0x0806→ARP 送给CPU处理。 0x8035→RARP 送给CPU处理。 0x8863→PPPoE discovery stage 送给CPU处理。 0x8864→PPPoE session stage 继续进行PPP的2层包处理。 0x8100→VLAN 其它值当作未识别包类型而丢弃。 4、Tag帧。 Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。 PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该优先级主要为QoS差分服务提供参考依据(COS)。 VID(Vlan ID):长度12bits,可配置的VLAN ID取值范围为1~4094。通常vlan 0和vlan 4095预留,vlan1为缺省vlan,一般用于网管。 1.2PPP数据包格式 1、获取PPP包类型字段。 0x0021→IP 继续进行3层的IP包处理。 0x8021→IPCP 送给CPU处理。 0xC021→LCP 送给CPU处理。 0xc023→PAP 送给CPU处理。 0xc025→LQR 送给CPU处理。 0xc223→CHAP 送给CPU处理。 0x8023→OSICP 送给CPU处理。 0x0023→OSI 送给CPU处理。 其它值当作未识别包类型而丢弃。

Modbus标准通讯协议格式【最新】

Modbus通讯协议 下表是Modbus的功能格式: 1、读可读写数字量寄存器(线圈状态): 计算机发送命令:[设备地址] [命令号01] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位] 例:[11][01][00][13][00][25][CRC低][CRC高] 意义如下: <1>设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。例子中为想和17号(十进制的17是十六进制的11)通讯。 <2>命令号01:读取数字量的命令号固定为01。 <3>起始地址高8位、低8位:表示想读取的开关量的起始地址(起始地址为0)。比如例子中的起始地址为19。 <4>寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。例子中为37个开关量。

<5>CRC校验:是从开头一直校验到此之前。在此协议的最后再作介绍。此处需要注意,CRC校验在命令中的高低字节的顺序和其他的相反。 设备响应:[设备地址] [命令号01] [返回的字节个数][数据1][数据2]...[数据n][CRC 校验的低8位] [CRC校验的高8位] 例:[11][01][05][CD][6B][B2][0E][1B][CRC低][CRC高] 意义如下: <1>设备地址和命令号和上面的相同。 <2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。 <3>数据1...n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。比如例子中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合...如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。 <4>CRC校验同上。 2、读只可读数字量寄存器(输入状态): 和读取线圈状态类似,只是第二个字节的命令号不再是1而是2。 3、写数字量(线圈状态):

以太网帧格式分析

运城学院实验报告 专业:计算机科学与技术系(班):计算机科学与技术系1001班姓名:陈嘉斌(2010100137)课程名称:计算机网络基础 实验项目:实验二以太网帧格式分析实验类型:验证性指导老师:杜经纬实验地点:网络实验室(2)时间:2012年11月15日8:00-9:50 一、实验目的: 1、分析Ethernet V2标准规定的MAC层帧结构。 2、了解IEEE802.3标准规定的MAC层帧结构和TCP/IP的主要协议和协议的层次结构。 二、实验内容: 1、通过对截获帧进行分析,分析和验证Ethernet V2标准和IEEE802.3标准规定的MAC层帧结构。 2、初步了解TCP/IP的主要协议和协议的层次结构。 三、实验方案设计: 设备连接: 设置pc0为192.168.1.1,pc1为192.168.1.2,pc2为192.168.1.3,pc3为192.168.1.4 四、实验步骤: 1、按图所示连接好设备,正确配置PC0,PC1,PC2,和PC3的IP地址,将交换机的配置清空。 2、在PC0和PC1上运行Wireshark截获报文,然后进入PC0的Windows命令行窗口,执行如下命令: ping 192.168.1.2 这是PC0向PC1发送消息的命令,等到PC1显示器上收到消息后,终止截获报文。

3、对截获的报文进行分析 五、实验结果: 六、实验总结: 通过本次实验我通过在截获帧的过程中了解MAC层结构。同时还了解ICMP数据报文格式和TCP/IP的主要协议和协议的层次结构。并且了解了mac帧的结构,对于mac帧的具体结构,有了更加深的了解。

MAC帧格式

令牌环上传输的数据格式(帧)有两种:一种是令牌,另一种是常规帧。令牌是占有发送权的标志,占有令牌的站才能发送。常规帧用来发送数据或控制信息。两种帧的格式如图 5所示。 图5 帧首定界符(SD )和帧尾定界符(ED )字段分别是一种专门标志帧首和帧尾的特殊字段,段1个字节。为了使用户数据获得透明性,应采取某种机制,使信息字段不会出现与SD 或ED 相同的比特序列。在令牌环网中所用的机制是除SD 和ED 字段外,其它所有信息比特都使用曼彻斯特编码,也就是说通过不同的编码方法来获得专门的标志。从图5的字段描述可知,要作到这一点,J.K 符号必须与常规编码规则不同,即J 符号与其前面的符号具有相同的极性,K 符号与前面的符号具有相反的极性。使用这种方式,接收机便可可靠地鉴别帧或令牌帧的开始和结束。访问控制(AC)字段由优先权比特(P )、令牌(T )和监视(M?)比特以及保留比特(R)组成。由该字段的名字可知,基功能是控制对环的访问。在其出现在令牌帧时,P 比特表示令牌的优先权,因此指示工作站收到该令牌后便可发送那些帧。T 比特用来区分令牌帧和常规。 M 比特由活动监视器用来防止帧绕环连续散发。R 比特用来使工作站指示高优先权帧的请求,请求发出的下一个令牌具有请求的优先权。 SD=帧首定界符 I=信息字段 AC=访问控制 FSC=帧检验序列 FC=帧控制 ED=帧尾定界符 DA=终点地址 FS=帧状态字段 SA=源点地址

帧控制(FC)字段定义帧的类型和控制功能如果帧类型(F)指示MAC帧,环上所有工作站都对其接收和解释,并根据需要对控制比特(Z)进行动作。如果它是工帧,控制比特公由终点地址字段标识的工作站解释。 源点地址(SA)和终点地址(DA)字段可为16比特或48比特。对于特定的令牌环网,应有一致的地址长度。DA标识帧意图发往的工作站,可以是一个站或多个站。源点地址(SA)字段表示发送该帧的站。 信息(I)字段用来载携用户数据或附加控制信息。I字段中最大长度虽无限制,但由于允许DTE发送帧时有时间限制,所以也就限制了I字段的长度,通常最大值的5000个字节。 帧检验序列(FCS)是32比特的循环冗余检验用来检验FC,DA,SA和I 各字段在传输中有无差错。最后一个字段为帧状态(FS)。FS由两个字段组成:地址识别比特(A)和帧拷贝比特(C)。如果该帧要由一个或多个工作站识别,则将A比特置为1。如果它拷贝了该帧,便将C比特置1。使用这种方法,发起工作站可了解下述状态: .被寻址的工作站是否存在或关闭; .被寻址的工作站在工作,但未拷贝帧; .被寻址的站工作且拷贝了帧。

MODBUS协议功能码及报文解析要点

M O D B U S协议功能码及报文解析要点

Modbus是一种串行通信协议,是于1979年,为使用可编程逻辑控制器(PLC)而发表的。事实上,它已经成为工业领域通信协议,并且现在是工业电子设备之间相当常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有: 公开发表并且无版税要求 相对容易的工业网络部署 对供应商来说,修改移动原生的位或字节没有很多限制 Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus 通常用来连接监控计算机和remoteterminalunit(RTU)。 Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口物理层进行。 对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Mo dbusRTU是一种紧凑的,采用二进制表示数据的方式,ModbusASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通讯(serialcommunication)方式。RTU格式后续的命令/数据带有的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU 变种的节点不会和设置为ASCII变种的节点通信,反之亦然。 对于通过(例如)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。 对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

实际上MODBUSRTU与ASCII的内容是完全相同的,不同的的ASCII方式用“:”标识帧起始,用“CRLF”标识帧结束。校验采用LRC,把RTU帧中一个字节的内容换成了2个ASCII字符。比如在RTU方式下设备地址01只有一个字节,在ASCII方式下转换成字符串

Modbus通讯 功能码及实例

功能码名称作用 01 读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF) 02 读取输入状态取得一组开关输入的当前状态(ON/OFF) 03 读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值 04 读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值 05 强置单线圈强置一个逻辑线圈的通断状态 06 预置单寄存器把具体二进值装入一个保持寄存器 07 读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定 08 回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴 09 编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑 10 控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送 11 读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时 12 读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误 13 编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑 14 探询(184/384 484 584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送 15 强置多线圈强置一串连续逻辑线圈的通断 16 预置多寄存器把具体的二进制值装入一串连续的保持寄存器 17 报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态 18 (884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑 19 重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节 20 读取通用参数(584L)显示扩展存储器文件中的数据信息

ARP帧格式

ARP帧格式 ARP帧格式 //////////////////////////////////////////////////////////////////////////////// 大概了解一下ARP协议。ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写, 它的作用是将IP地址转换成物理地址(就是常说的MAC地址),其详细过程参考《TCP/IP详解卷一》。 协议ARP的分组格式如下: ------------------------------------------ 以太网目的地址(6个字节) 以太网源地址(6个字节) 帧类型(ARP = 0806)(2个字节) ------------------------------------------ 硬件类型(Ethernet=01)(2个字节) 协议类型(IPv4=0800)(2个字节) 硬件地址长度(1个字节) 协议地址长度(1个字节) OP操作选项(ARP request=01,ARP reply=02)(2个字节) 发送端以太网地址(6个字节) 发送端IP地址(4个字节)

目的以太网地址(6个字节) 目的IP地址(4个字节) -------------------------------------------- //////////////////////////////////////////////////////////////////////////////// 我们向目标主机发送一个ARP请求,如果目标主机处于活动状态则会返回其MAC地址, 如果对方返回MAC地址,则表明对方处于活动状态,这样达到探测目的。 ARP请求包内容如下: ------------------------------------------ 以太网目的地址|FFFFFFFFFFFF(广播地址) 以太网源地址|本地MAC地址 帧类型|0806 ------------------------------------------ 硬件类型|01 协议类型|0800 硬件地址长度|06 协议地址长度|04 OP操作选项|01 发送端以太网地址|本地MAC地址 发送端IP地址|目标主机IP地址

Modbus功能码一览

Modbus功能码一览 Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。下表1是ModBus的功能码定义。

Modbus网络只是一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。表2是ModBus各功能码对应的数据类型。 (1) 在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)这两种模式的定义见表3

编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。 用RTU模式传输的数据是8位二进制字符。如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符都是十六进制字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译玛和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较快的机器。表4给出了以RTU 方式读取整数据的例子 ( CRC-16(循环冗余错误校验) CRC-16错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位(MSB)首选发送。报文先与X↑16相乘(左移16位),然后看X↑16+X↑15+X↑2+1除,X↑16+X↑15+X↑2+1可以表示为二进制数 11000000000000101。整数商位忽略不记,16位余数加入该报文(MSB先发送),成为2个CRC校验字节。余数中的1全部初始化,以免所有的零成为一条报文被接收。经上述处理而含有CRC 字节的报文,若无错误,到接收设备后再被同一多项式(X↑16+X↑15+X↑2+1)除,会得到一个零余数(接收设备核验这个CRC字节,并将其与被传送的CRC 比较)。全部运算以2为模(无进位)。 习惯于成串发送数据的设备会首选送出字符的最右位(LSB-最低有效位)。而在生成CRC情况下,发送首位应是被除数的最高有效位MSB。由于在运算中不用进位,为便于操作起见,计算CRC时设MSB在最右位。生成多项式

MAC数据帧

802.11 MAC层帧解析 1.MAC帧格式 对应的数据结构如下: 1.typedef struct _rtw_ieee80211_hdr_qos { 2.__le16 frame_ctl; 3.__le16 duration_id; 4.u8 addr1[ETH_ALEN]; 5.u8 addr2[ETH_ALEN]; 6.u8 addr3[ETH_ALEN]; 7.u16 seq_ctl; 8.u8 addr4[ETH_ALEN]; 9.} rtw_ieee80211_hdr_qos,*prtw_ieee80211_hdr_qos; 1.1 地址格式 addr1:接收地址(所有包都包含它) addr2:传输地址(除ACK和CTS包外的其他包都包含它)

addr3:只用于管理包和数据包。 addr4:无线分布系统模式下,FROM DS和TO DS都被置位时使用。 下图中,占两个字节的Frame control ,其To DS和From Ds决定了这四个地址的使用。 Frame control对应的地址如下:(Little ENDIAN) 1.typedef struct _frame_contrl{ 2.unsigned char version:2; 3.unsigned char type:2;//00 管理帧 01控制帧 10数据帧 11保留 4.unsigned char subtype:4;//0000 0001 Association request/respon se; 0010 0011 reassociation request/response 5.//0100 0101 probe requset/response; 0110-0111 reserved

实验3-以太网MAC帧分析

实验3 以太网MAC 帧分析 1.实验目的 1.理解以太网MAC 地址 2.学习并分析以太网MAC 帧格式的结构、含义 2.实验设备与环境 1.Ethereal 网络分析软件 2.实验文件“网络协议的层次观察.cap ” 3.相关知识 在局域网中,每个网络设备具有唯一的硬件地址又称为物理地址,或 MAC 地址, 它是固化在网卡的ROM 上的48位数字,如1A-24-F6-54-1B-0E 、00-00-A2-A4-2C-02。 网卡从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址,如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。 “发往本站的帧”包括以下三种帧: 单播(unicast)帧(一对一) 广播(broadcast)帧(一对全体) 多播(multicast)帧(一对多) 如下的图1 是以太网 V2 MAC 帧格式 图1以太网 V2 的 MAC 帧格式 当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节。 FCS 字段 4 字节,用于帧的校验。 2.以太网MAC 帧格式的结构和含义的分析

打开文件“网络协议的层次观察.cap”,这是一个包括100个分组的网络通信记录,详细记录了分组的序号、相对时间、源地址、目标地址、协议类型、内容,如图1是对第1个分组的详细信息。在协议框内,分别显示了该分组的各层协议:接口层以太网协议(eth)、arp 地址解析协议。 图1 MAC帧格式的结构和含义 从图中的Frame 1为例,可以发现该MAC帧是一个广播帧broadcast,目标address是ff:ff:ff:ff:ff:ff,源地址是00 08 93 00 3b 4e ,帧类型是地址解析协议ARP(0806),地址的第一字段最低位是1,则表示组地址,若是0,则是普通地址。因数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段Trailer,以保证以太网的 MAC 帧长不小于 64 字节(含FCS)。(注意:最下栏左面的序号为16进制,如0010是16十进制)。 4.实验问题 问题一:以太网 V2 MAC 帧格式是怎样的?什么是物理地址? 问题二:根据“网络协议的层次观察.cap”回答以下问题: 1、分析第4个分组的MAC帧内目标地址、源地址、类型的内容,是否有填充字段? 2、分析第54个分组的MAC帧内目标地址、源地址、类型的内容,是否有填充字段? 3、分析第19个分组的MAC帧内目标地址、源地址、类型的内容,是否有填充字段? 4、分析第74个分组的MAC帧内目标地址、源地址、类型的内容,是否有填充字段?

相关文档
最新文档