实验003信号的提取
一.实验目的
1、SignalTap II Logic Analyzer使用方法;
2、掌握捕获条件的设置
3、学会硬件信号分析,了解硬件信号监视和软件调试的差异
二.实验内容
1、基础要求:上一次在2口进3口出的基本功能UM_my/UM.v模块中设计一个信号量或者直接对信号量 输入端口in_port 进行监视。
2.设置触发捕获的条件,在某端口有信号进入时捕获数据。
3、利用原有的信号捕获设置检测cdp2um_data[138:136],尝试捕获广播包(这里的数据帧头从139到127位)
138:136
(头尾标识) 135:132
(有效字节数) 131:128
(输入端口号) 127:0
(报文数据)
101 1111 port_num 报文前16字节
从127到0为链路层的帧数据,大家可以查相关资料,了解如何捕获出广播帧。
4、设置条件,尝试捕获ARP类型的包,在验收环节和实验报告中描述是否有办法在交换机硬件中防止ARP攻击。
三.实验环境
- 1台管理节点主机;1台主机A;(分别连接到2口和3口)
- 2根网线;
- NetMagic08开发平台;
- 软件Quartus 16。
主机及网络详细配置参照附带的实验环境拓扑及软件配置文档。
四.实验步骤
- 打开SignalTap II Logic Analyzer。
a) 如图1所示,在Quartus 的菜单栏选择“Tools”,选择“SignalTap II Logic Analyzer”。
b) 单击打开SignalTap II Logic Analyzer分析器。
-
新建实例
a) 在InstanceManager中右击空白处,弹出菜单选项,选择“Create Instance”新建实例。
-
选中新添加的实例,双击实例对应的文本框,弹出Node Finder文本框,如图4所示。
b) 在Node Finder文本框单击look in项后的 “…”按钮,选择要查看signaltap的模块;在Options Filter下拉列表框选择过滤信号的选项;Named选择cdp2um*进行信号名的过滤,Filter选择Design Entry(all names),然后点击“…”。
c) 选中UM:UM,导入cdp2um_data。
d) 把127~80设置成高电平,添加控制是否有效的cdp2um_data_valid并且设置成上升沿。
e) 添加完信号之后,需要添加信号的采样时钟信号。即在Singal Configuration框中选择“Clock”选项的“…”按钮,在Node Finder中选择信号的采样时钟。
f) 保存Signaltap文件,然后编译工程。
五.实验验收
报文解读:
5:138-136 位,(101)2,表示报文头
F:135-132 位,(1110)2,表示最高的 15 个字节有效
1:131-128 位,(0001)2,表示逻辑输入端口号为 1(实际为 netMagic08 的 2 号端口)
紧接着的 12 个 F:127-80 位表示 58 位目的 MAC 地址,全为 F 表示为广播帧
F8 E4 3B A5 98 0D: 表示源 MAC 地址
0800: 代表的是 IP 报文的协议域,这里是普通的广播报文
4500: 代表 IP 报文的头部格式
5:138-136 位,(101)2,表示报文头
F:135-132 位,(1110)2,表示最高的 15 个字节有效
0:131-128 位,二进制 0000,表示逻辑输入端口号为 0(实际为 netMagic08 的 1 号端口)
紧接着的 12 个 F:127-80 位表示 58 位目的 MAC 地址,全为 F 表示为广播帧
F8 E4 3B A5 98 0D: 表示源 MAC 地址
0806: 代表的是 IP 报文的协议域,这里是 ARP 协议广播报文
4500: 代表 IP 报文的头部格式
六.实验思考
1、信号如果没有实际保留意义,在电路设计时会被优化掉,无法再信号分析工具中查看到。如何避免?
SignalTap II 可以使用如下语句避免其被优化:
reg[15:0] data;/synthesis noprune/
(noprune) reg[15:0] data;
2、实际的交换机产品中有具备反ARP攻击的功能么,如果有列出品牌和型号。如果没有,请简述理由。
有。如神州数码网络公司从客户端、接入交换机、汇聚交换机、网关设备都研发了 ARP 攻
击防护功能。