
打开MegaWizard Plug-In Manager,在Installed Plug-Ins下,展开I/O,找到ALTPLL模块。如果没有选择器件,可以在窗口右边最上选择器件。选择要生成模块的程序语言,输入要生成的模块文件的路径和名字。
第二步进入到类似web的设定参数窗口,可以点击各个步骤的链接跳到相应步骤去。右上角的About可以看到这个ALTPLL模块的相关信息,Documentation里有模块用户指南、设计参考等参考文档,还可以生成样例波形作为参考。
1、General/Modes。在General栏里设定器件,速度等级,输入频率,还可以将PLL设置在LVDS模式下(需要器件支持)。在PLL type中设置PLL类型(影响补偿模式)。
2、(Scan/Lock)设置PLL控制信号。
3 、Simulation Library选择模拟时使用的库。
4、 Summary可以看到将要生成的文件。
MegaFunction的ALTPLL模块实际是使用代码,通过调用altera_mf库中的PLL模块实现PLL的。打开生成的.vhd文件可以看到调用情况。
在开始本教程之前,请注意演示项目准备需要以下内容:
在Intel SoC FPGA中,HPS逻辑与FPGA结构通过AXI(Advanced eXtensible Interface)桥进行连接。为了实现HPS逻辑与FPGA 结构的通信,需要通过使用Intel系统集成工具Qsys添加HPS组件来进行系统设计。从HPS组件的AXI主端口,HPS可以访问那些连接到AXI主端口的内存映射从端口。
HPS包含以下HPS-FPGA AXI桥
下图显示了FPGA结构和L3与HPS互连的AXI桥的框图。每个主(M)接口和从(S)接口显示其数据宽度。括号中标注了每个互连的时钟域。
HPS-to-FPGA桥由3级(L3)主开关控制,轻量级控制HPS-to-FPGA桥由L3从外围从开关控制。
FPGA-to-HPS桥接控制L3主开关,允许任何在FPGA结构的主实现(implemented)去访问在HPS中大多数从实现。
所有三个桥都包含全局程序员视图GPV寄存器。GPV寄存器控制网桥的行为。通过轻量级的HPS-to-FPGA桥访问可以所有三个桥的GPV寄存器。
这个例程向用户介绍了如何使用HPS/ARM与FPGA进行通信。这个与DE10-Standard板上ARM C程序配套的GHRD工程,演示了HPS/ARM程序如何控制连接到FPGA部分的红色LED。
术语GHRD是黄金硬件参考设计(Golden Hardware Reference Design)的简称。友晶科技为DE10-Standard开发板提供的GRD项目位于CD文件夹中: CD-ROM\Demonstration\SOC_FPGA\ DE10_Standard_GHRD。
本项目由以下组成部分组成:
MPU所看到的SoC FPGA部分的系统外围设备的内存映射从轻量级的HPS-to-FPGA到FPGA的基础地址0xFF20_0000开始。MPU可以通过Qsys中的地址偏移来访问这些外围设备。用户可以打开GHRD项目与Quartus II软件。然后打开soc_system。qsys文件与qsys工具。下图列出了连接到轻量级HPS-to-FPGA的外围设备的地址映射。
这些外设的所有Avalon引出信号( Avalon Conduit signals)都连接到DE10-Standard板上SoC FPGA的I/O引脚,如图所示
在实际的应用过程中,友晶科技提供的DE10_Standard_GHRD工程并不是十分契合我们的开发需要,这可能包括外围设备的冗余和不足。下面为了实现本教程开篇所定的目标,我们需要根据DE10_Standard_GHRD工程进行修改。其中友晶科技提供的DE10_Standard_GHRD工程实现的是LEDR0通过闪烁模拟板子的心跳, LEDR1-9 按照一定频率进行左移右移循环闪烁60次;我们的目标是LEDR0通过闪烁模拟板子的心跳, LEDR1-8 按照一定频率进行左移右移循环闪烁60次, LEDR9 在LEDR1-8的每一次循环后闪烁一次。可以看出,我们只需要将DE10_Standard_GHRD工程中的LEDR9的设计进行更改就可以打到我们的目的。下面正式开始更改 *** 作。
新建文件夹: E:\work\Quartus\My_GHRD ,然后将DE10_Standard_GHRD工程目中的一下文件复制到工程目录下:
因为其中的文件DE10_Standard_GHRD.v后面将会被指定为顶层文件,所以需要将其更改为与工程名My_GHRD相同的My_GHRD.v文件,同时为了与工程名保持协调,我们也将文件DE10_Standard_GHRD.sdc更改为与工程名My_GHRD相同的My_GHRD.sdc。最终工程目录文件夹如下图所示:
首先,建立一个名为:My_GHRD的工程。打开软件Quartus Prime Standard Edition,点击:File→New Project Wizard…,进入工程创建引导界面。
点击引导界面下方的:Next,进入Directory, Name, Top-Level Entity设置界面。
点击右侧按钮:…选择你的工程目录 E:/work/Quartus/My_GHRD 。之后设置工程名: My_GHRD 。此时软件将自动把顶层设计entity name设置为工程名: My_GHRD 。继续点击:Next,进入Project Type设置界面。
在Project Type界面选择:Empty Project选项,继续点击:Next,进入Add Files设置界面。
在Add Files设置界面,点击右侧按钮:…,添加工程目录下的文件:My_GHRD.v和soc_system.qsys以及文件夹hps_isw_handoff和ip下的所有文件进入工程。
然后点击:Next,进入Family, Device &Board Settings设置界面。
在Family, Device &Board Settings设置界面,我们要设置我们所用的SoC FPGA型号:5CSXFC6D6F31C6N。为了能够快速锁定我们要选择的SoC FPGA型号,我们可以点击:Device下拉列表,选择:Cyclone V SX Extended Features,以缩小选型范围。
然后,选择Available devices下的5CSXFC6D6F31C6。继续点击:Next,进入EDA Tool Settings设置界面。
在EDA Tool Settings设置界面下,我们保留默认设置。之后点击:Fnish,完成工程创建,退出工程创建引导界面。
由于我们需要在DE10_Standard_GHRD工程的基础上更改Qsys的设计来实现对LEDR9的单独控制,所以我们需要在Qsys中添加一个1位的PIO端口来实现对LEDR9的控制,同时需要将原来用于同时控制LEDR0-9的10位PIO端口的改为9位的PIO端口。
依次点击:Tools→Qsys,启动Qsys,之后选中要打开的soc_system.qsys文件。
此时将d出“ PIO(Parallel I/O) ”设置界面。将PIO的数据宽度Width设置为:1,数据输入输出方向Direction设置为:Output。最后点击右下角的Finish按钮退出设置。
现在,新的Qsys设计中将会出现我们新添加的PIO端口pio_0,我们可以对其进行重命名。光标移动到在端口名pio_0处,右键选择“Rename”,重命名为:led_pio9。点击空白处保存命名。
之后我们需要对led_pio9组件的信号进行连接,将光标放置到下图中led_pio9组件中clk信号所在行的白点处,点击后可以将led_pio9组件中clk信号与clk_0组件的clk信号进行连接,可以表示为:led_pio9.clk—clk_0.clk。使用类似的 *** 作,将led_pio9组件的其它信号分别与其它组件进行如下连接,最终的连接关系如下:
如下图:
其中led_pio9有一个信号led_pio9.external_connection需要进行对外引出。光标置于信号led_pio9.external_connection处右击选择:Connections:led_pio9.external_connection→Export as: led_pio9_external_connection。
到此,添加一个1位的PIO端口led_pio9的 *** 作已经完成。
接下来需要将原来控制LEDR0-9的数据宽度为10位的PIO端口led_pio更改为只用控制LEDR0-8的数据宽度为9位的PIO端口led_pio。双击组件led_pio,将数据宽度Width(1-32 bits)设置为:9,关闭Parameters窗口将自动保存更改。
现在,我们要为我们新添加的PIO端口led_pio9分配基地址,同时更新Qsys设计中其它组件的基地址。依次点击:System→Assign Base Addresses。
可以看出,至此,我们需要在Qsys设计中做的更改已经完成了。现在,只要重新生成相应的HDL文件,更新Qsys设计就可以结束Qsys部分的设计了。但是后面对工程编译时软件将会输出错误提示:
Error (10228): Verilog HDL error at soc_system_sysid_qsys.v(34): module “soc_system_sysid_qsys” cannot be declared more than once。
更令人遗憾的是,目前本人还没有找到解决上述错误信息的办法。有一个无奈的办法就是:将Qsys设计中的soc_system_sysid_qsys组件删除。这不会影响Qsys设计的功能,关于该组件功能的详细介绍,读者可以自行查找,此处不再赘述。
删除soc_system_sysid_qsys组件的办法是:将soc_system_sysid_qsys组件sysid_qsys的Use列方框中的“√”去掉。
之后进行Qsys设计中的文件生成工作。点击右下角的Generate HDL…按钮。
在d出的“Generation”窗口中,确认Output Directory下Path所指定的生成文件的输出目录在工程目录下。然后点击Generate按钮。
接下来会d出“Save System Completed”窗口,点击右下角的Close按钮。
接下来会d出的“Generate”窗口,等待几分钟,文件生成工作完成后,右下角的“Close”按钮会高亮显示。此时,点击“Close”按钮。
最后,又会退回到Qsys设计页面,点击右下角的Finish按钮,退出Qsys设计。
在返回Quartus Prime Standard Edition主界面后,会提示我们把更新后的.qip和.sip文件重新手动添加到工程中来。点击提示窗口右下角的Close按钮。
现在,我们来手动添加更新后的.qip和.sip文件。右击Project Navigator窗口中工程名:My_GHRD。点击Settings…选项。
接下来会d出Category界面,点击右侧的…按钮。
此时会d出Select File界面,在指定的目录下找到生成的soc_system.qip文件并选中,然后点击右下角的“打开”按钮。
最后,可以在返回的Catagory界面中可以看到生成的soc_system.qip文件已经被成功添加到工程中。
在上述界面中可以看到文件:hps_reset_bb.qip和hps_reset_bb.v,这一组文件的定义了模块:hps_reset。但是,由于 文件:hps_reset.qip和hps_reset.v这一组文件同样也定义了模块:hps_reset,所以hps_reset_bb.qip和hps_reset_bb.v的加入会导致模块:hps_reset的重复定义。
现在我们需要将文件:hps_reset_bb.qip和hps_reset_bb.v进行移除。选中文件:hps_reset_bb.qip和hps_reset_bb.v,点击右侧的Remove按钮移除文件。最后,点击右下角的OK按钮退出该界面。
至此,工程My_GHRD中Qsys部分的设计已经完成。接下来我们需要对工程中的硬件描述文件.v文件进行修改。其实,我们在DE10_Standard_GHRD工程的基础上只用对My_GHRD中顶层实体文件My_GHRD.v中各个模块的引脚及其连接关系进行描述即可。
在此之前,我们先指定我们的顶层实体文件My_GHRD.v。点击Project Navigator窗口中Hierachy按钮,会d出下拉列表,我们点击File选项。
找到工程中的My_GHRD.v,右击选择Set as Top-Level Entity。
我们双击Project Navigator窗口中工程名My_GHRD,此时软件将会打开工程的顶层实体文件My_GHRD.v
对顶层实体文件My_GHRD.v的修改主要有以下各处:
第一,顶层实体模块的命名须与工程名My_GHRD保持一致。
第二,在模块soc_system u0中对新引出的PIO端口led_pio9_external_connection_export进行声明。可以发现,我们声明端口led_pio9_external_connection_export的同时需要为其指定一个wire类型的变量进行连接。对照led_pio_external_connection_export连接到wire类型的变量fpga_led_internal上,我们新定义了一个wire类型的变量fpga_led9_internal与端口led_pio9_external_connection_export进行连接。当然,wire类型的变量fpga_led9_internal可以理解为是一条导线,它的一端接到了模块soc_system u0中对新引出的PIO端口led_pio9_external_connection_export上,两外一端也是要为它连接适当的端口的。我们新增端口led_pio9_external_connection_export的目的就是能够对LED灯LEDR9进行控制,所以,不难想到,wire类型的变量fpga_led9_internal另一端一定是要连接到端口LEDR[9]上面的。这样,总体的更改就是下面这样的:
现在,我们可以对工程My_GHRD进行编译 *** 作。首先是进行工程的分析与综合,依次点击:Processing→Start→Start Analysis &Synthesis。
工程的分析综合通过后,主界面中左侧的Tasks窗口下的Analysis &Synthesis栏前面会展示一个绿色的“√”,后面会显示分析综合所用的时间。
上面分析综合成功后,下一步需要进行Fitter(Place &Route),这里进行的是关于FPGA内部的布局布线 *** 作。在此之前我们需要对我们模块中设计的输入输出引脚进行引脚分配。引脚分配的方法有很多种,读者可以自行学习。这里由于我们定义了大量的引脚,而且我们有现成的DE10_Standard_GHRD工程可以利用,我们只需将该工程里面的引脚分配信息转移进入我们的My_GHRD工程就可以了。
我们现在打开DE10_Standard_GHRD工程。进入工程后,我们点击:Assignments→Pin Planner,进入引脚分配界面。
在该界面下,点击:File→Export…。
之后会d出Export窗口。我们需要选择我们要导出的文件格式为:.tcl。
然后,点击右下角的Export按钮。
最后,依次点击引脚分配界面和DE10_Standard_GHRD工程界面右上角的关闭按钮,退出DE10_Standard_GHRD工程。
我们现在已经得到了我们需要的引脚分配文件DE10_Standard_GHRD.tcl,现在我们需要把它从DE10_Standard_GHRD工程目录下复制到My_GHRD工程目录下。为了与My_GHRD工程名保持一致,将其改名为:My_GHRD.tcl。
接下来,我们需要利用得到的引脚分配文件My_GHRD.tcl对工程My_GHRD中的引脚进行分配。点击:Tools→Tcl Scripts…。
在d出的Tcl Scripts窗口下,点击右侧的Add to Project…按钮。
在d出的Add to Project窗口下,选中我们的引脚分配文件My_GHRD.tcl,并点击右下角的打开按钮。
此时,软件又自动退回到Tcl Scripts窗口下。在Libraries栏中找到我们的引脚分配文件My_GHRD.tcl,点击下方的Run按钮来加载我们的引脚分配文件。
在后面d出的界面中点击OK按钮,退回到Tcl Scripts窗口。
最后点击到Tcl Scripts窗口下方的Close按钮退出到Tcl Scripts窗口,回到工程主界面。
此时,点击主界面的:Assignments→Pin Planner进入引脚分配界面。
在引脚分配界面中,可以看到,引脚大部分已经被分配完成,未分配的引脚暂时不用担心它们,我们还没有用到。
现在,我们开始对工程进行布局布线。点击:Processing→Start→Start Fitter。
工程的布局布线通过后,主界面中左侧的Tasks窗口下的Fitter(Place &Route)栏前面会展示一个绿色的“√”,后面会显示布局布线所用的时间。
到此,基本上我们可以判断在逻辑上我们的设计已经没有问题了,接下来我们是可以进行工程的全编译了。但是,在实际的应用设计中我们还要考虑对信号的时序进行约束,尤其是具有 SDRAM DDR3这种高速存取器件的设计中。对于时序约束,我们可以利用DE10_Standard_GHRD工程中的时序约束文件:DE10_Standard_GHRD.sdc。同样的,将其复制到My_GHRD工程目录下,改名为:My_GHRD.sdc。
将时序约束文件添加进入工程,右击Project Navigator窗口下的工程名:My_GHRD,点击:Setting…按钮。
接下来会d出Category界面,点击右侧的…按钮。
此时会d出Select File界面,进入工程主目录下,点击右下角的文件类型选择按钮,选中:Script Files( * .tcl .sdc .pdc*.qip)一项。
下找到时序约束文件My_GHRD.sdc并选中,然后点击右下角的“打开”按钮。
最后,可以在返回的Catagory界面中可以看到时序约束文件:My_GHRD.sdc文件已经被成功添加到工程中。依次点击右下角的Apply按钮和OK按钮退出该界面。
此时已经回到工程主界面,我们可以进行工程的全编译了。点击Processing→Start Compilation。
本节将介绍如何设计一个ARM C程序来控制PIO控制器led_pio。SoC EDS用于编译C项目。为了让ARM程序控制PIO组件led_pio,我们需要led_pio地址。使用Linux内置驱动程序’ /dev/mem '和mmap system-call可以将led_pio组件的物理基址映射到Linux应用软件可以直接访问的虚拟地址。
ARM C程序需要led_pio的组件信息,因为程序会尝试控制组件。这部分将会描述如何使用一个给定的Linux shell批处理文件将Qsys HPS信息提取到一个头文件中,这个头文件稍后将包含在C程序中。
上面提到的批处理文件名为:generate_hps_qsys_header.sh。它与DE10_Standard_GHRD工程位于同一个文件夹中。现在,我们要为工程My_GHRD生成头文件。首先,从DE10_Standard_GHRD工程目录下复制文件:generate_hps_qsys_header.sh到My_GHRD工程目录下。
接下来,使用记事本打开批处理文件:generate_hps_qsys_header.sh,确认文件中红线标注的路径下有应用程序:sopc-create-header-files.exe。其中,路径:/cygdrive/d/…表示D盘…。如果该路径下没有上述应用程序,读者需自行更改其中的路径。
注意,如果后面在SoC EDS命令shell中运行generate_hps_qsys_header.sh时,提示出现错误。(其实这个错误当时解决后忘记进行记录,好像是提示执行文件sopc-create-header-files的过程中sopcinfo2swinfo还是swinfo2
一、安全洋葱控制台(SOC)
一旦你运行了so-allow和允许你的IP地址,你就可以用你的web浏览器连接到安全洋葱控制台(SOC)。我们推荐chromium 或基于chromium 的浏览器,如谷歌Chrome。其他浏览器可能也能工作,但基于chrome的浏览器提供了最好的兼容性。
根据您在安装程序中选择的选项,连接到您的安全洋葱安装的IP地址或主机名。然后使用您在安装程序中指定的电子邮件地址和密码登录。
登录后,你会在左侧看到一些分析工具的链接,比如Alerts、Hunt、PCAP、Kibana、CyberChef、Playbook、TheHive和ATT&CK Navigator。虽然警报、Hunt和PCAP是SOC本身的原生工具,但是其余的工具都是外部的,并且会产生单独的浏览器标签。
SOC使您能够访问各种工具,它们都可以很好地相互补充。例如,这里有一个潜在的工作流:
(1)检查Grafana,确保你的系统是健康的。
(2)进入警报页面并查看未确认的警报。
(3)一旦发现了需要调查的警告,可能需要扩展搜索并查找与源和目标IP地址相关的其他日志,因此pivot可以搜索更多信息。如果这些附加日志中的任何一个看起来很有趣,那么您可能希望转向PCAP,以查看该流的完整包捕获。
(4)向Thehive发送警报,并记录上一步发现的任何IOC指标。
(5)去fleet和执行那些IOCs跨所有osquery端点更广泛的搜索。
(6)使用CyberChef进一步分析和解码其他主机工件。
(7)开发一个在playbook,将自动向前告警IOC和更新您的覆盖率ATT&CK导航器。
(8)最后,返回thehive和文件的整个调查和结束案件。
二、告警
安全洋葱控制台(SOC)让您访问我们新的告警界面。这个界面给你一个告警的概述,安全洋葱正在生成,并允许你快速深入细节,pivot到hunt或PCAP,并逐步升级警报到thehive。
2.1 切换toggle
页面顶部必须有确认和升级切换:
(1)启用确认切换将只显示之前已被分析师确认的警报。
(2)启用升级切换将只显示之前由分析师升级到thehive的警报。
2.2查询栏
查询栏默认为按名称分组,模块按rule.name和event.module对警报进行分组。如果您想将您当前的告警查询发送到Hunt,您可以点击查询栏右边的十字瞄准图标。
在查询栏下,您会注意到彩色的气泡,它们表示查询的各个组件和要分组的字段。如果您想删除部分查询,您可以单击相应的气泡删除它并运行新的搜索。
您可以单击下拉框选择其他查询,这些查询将按其他字段分组。
2.3时间选择器
默认情况下,Alerts搜索最近24小时。如果您想要搜索一个不同的时间段,您可以在屏幕的右上角更改它。
2.4数据表
页面的其余部分是一个数据表,从分组视图开始,可以切换到详细视图。这两种视图有一些共同的功能:
(1)单击表标头可以按升序或降序排序。
(2)单击bell图标确认一个警报。然后,通过选择页面顶部的确认切换按钮,就可以看到该警报。在确认视图中,单击铃铛图标将删除确认。
(3)单击蓝色感叹号图标将警报升级到hive并创建一个case。这个案例可以在蜂巢界面中看到。如果您需要在警告页面中找到原来的升级警报,您可以启用升级切换(它也将自动启用确认切换)。
(4)单击表中的一个值将显示该值的 *** 作菜单。左边的正负放大镜图标允许您(分别)在查询中包括或排除这些值。如果存在,向下箭头图标允许您钻取该值(下一节将详细介绍该值)。groupby图标允许将特定字段作为groupby添加到查询中。在狩猎中,十字准星图标开始了新的价值搜索。动作菜单右侧末端的G和VT(分别)查找谷歌和VirusTotal上的值。
(5)您可以在右下角调整每页的行设置,并使用左右箭头图标在表格中分页。
分组的视图
默认情况下,警报是根据查询栏中选择的任何条件进行分组的。单击字段值,然后单击向下箭头图标,允许您向下钻取该值,该值将切换到详细视图。
详细视图
如果单击分组视图中的一个值,然后单击快速工具条上的向下箭头图标,它将向下钻取到详细视图。这将显示所有搜索结果,并允许您根据需要钻取单个搜索结果。单击表标头可以按升序或降序排序。从每一行的左边开始,有一个箭头,它将展开结果以显示其所有字段。箭头的右边是时间戳字段。接下来,将显示几个标准字段:rule.name、event.severity_label、source.ip、source.port、destination.ip和destination.port。根据您正在查看的数据类型,可能还会有一些其他特定于数据的字段。
当您单击向下箭头以展开Events表中的一行时,它将显示该事件的所有单独字段。字段名称显示在左侧,字段值显示在右侧。在查看字段名称时,左侧有一个图标,它将把该字段添加到查询的groupby部分。您可以单击右边的值d出动作菜单,以优化搜索或转向其他页面。
三、狩猎
安全洋葱控制台(SOC)让您访问我们的新狩猎接口。该界面允许您在Elasticsearch中搜索所有数据,并对叠加、下钻、数据扩展和数据缩减进行了高度优化。
3.1自动狩猎
页面的顶部有一个自动搜索的开关,默认是启用的。启用后,当您更改过滤器、分组或日期范围时,Hunt将自动提交您的查询。
3.2查询栏
最简单的入门方法是单击query下拉框并选择预定义的查询之一。这些预定义的查询涵盖了您在安全洋葱部署中可能看到的大多数主要数据类型:来自Suricata的NIDS警报、来自Wazuh的HIDS警报、来自Zeek或Suricata的协议元数据日志、端点日志和防火墙日志。下拉列表中的每个条目都将显示实际的查询,然后是查询功能的描述。
3.3时间选择器
默认情况下,Hunt搜索最近24小时。如果您想要搜索一个不同的时间段,您可以在屏幕的右上角更改它。您可以使用默认的相对时间或单击时钟图标更改为绝对时间。
3.4可视化
输出的第一部分包含“最多发生可视化”、“时间轴可视化”和“最少发生可视化”。柱状图是可单击的,因此您可以单击一个值来更新您的搜索条件。聚合默认为10个值,所以最多出现在前10个值,最少出现在后10个值(长尾)。聚合值的数量由Group Metrics部分中的获取限制设置控制。
3.5组指标
输出的中间部分是Group Metrics部分,它是一个数据表,允许您堆叠(聚合)任意字段。组指标由搜索栏中的groupby参数控制。单击表标头可以按升序或降序排序。
单击Group Metrics表中的一个值,将d出针对该值的 *** 作菜单。左边的正负放大镜图标允许您(分别)在查询中包括或排除这些值。第三个放大镜仅对值本身启动一个新的查询。动作菜单右侧末端的G和VT(分别)查找谷歌和VirusTotal上的值。
Group Metrics表的默认取值限制是10。如果需要查看前10个以上的数据,可以增加获取限制,然后使用左右箭头图标对输出进行分页,或者增加每页的行设置。
3.6事件
输出的第三部分也是最后一部分是一个数据表,其中包含所有搜索结果,并允许您根据需要钻取单个搜索结果。单击表标头可以按升序或降序排序。从每一行的左边开始,有一个箭头,它将展开结果以显示其所有字段。箭头的右边是时间戳字段。接下来,将显示几个标准字段:source.ip、source.port、destination.ip、destination.port、log.id.uid(Zeek唯一标识符),network.community_id(社区ID),和event.dataset。根据您正在查看的数据类型,可能还会有一些其他特定于数据的字段。
单击Events表中的一个值将显示该值的 *** 作菜单。左边的正负放大镜图标允许您(分别)在查询中包括或排除这些值。第三个放大镜仅对值本身启动一个新的查询。第四个图标将带您进入流的pcap。第五个图标(bell)为该事件创建一个警报。动作菜单右侧末端的G和VT(分别)查找谷歌和VirusTotal上的值。
Events表的默认取值限制是100。如果需要查看超过100个事件,可以增加获取限制,然后使用左右箭头图标对输出进行分页,或者增加每页的行设置。
当您单击向下箭头以展开Events表中的一行时,它将显示该事件的所有单独字段。字段名称显示在左侧,字段值显示在右侧。在查看字段名称时,左侧有一个图标,它将把该字段添加到查询的groupby部分。您可以单击右边的值d出动作菜单,以优化搜索或转向其他页面。
3.7统计数据
页面的左下角显示了关于当前查询的统计信息,包括后端数据获取的速度和总往返时间。
3.8OQL
洋葱查询语言(OQL)以标准的Lucene查询语法开始,然后允许你添加可选的片段来控制Hunt对查询结果做什么。groupby段告诉Hunt按(聚合)特定字段分组。因此,例如,如果希望按目的地IP地址进行分组,可以将| groupby destination- IP添加到搜索中(假设它还没有groupby语句)。groupby段支持多个聚合,因此您可以添加需要分组的更多字段,并用空格分隔这些字段。例如,要按目的地IP地址和目的地端口进行分组,可以使用| groupby destination.IP destinaion.port。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)