moloch1.8.0简单操作手册
- Sessions 页面:Sessions主要通过非常简单的查询语言来构建表达式追溯数据流量,以便分析。
- SPIView 页面:
- SPIGraph页面:SPIGraph 将以流量趋势图的方式展示指定字段的流量情况。除了直接在 SPIGraph 界面中选择字段,也可以在Sessions 及 SPIView 界面进行指定要查看的字段,通过 SPIGraph 选项跳转至本界面。
- Connections页面:Connections 用于直观的展示源节点与目的节点的关系。
- Files页面:Files 显示已捕获的 pcap。
- Stats页面:Stats 为 Moloch 状态信息。在 Moloch 维护及故障排除方面有较大帮助。
- History页面:History 可以查看用户的历史操作记录,并支持对历史操作的重现。
- Settings页面:Settings 可对当前登录账号各项信息进行配置。
- Users页面:Users 负责用户管理。可进行添加、删除用户,也可对已有用户的权限进行限制。
1. Sessions页面
1.1 搜索栏————输入过滤表达式,点击 search 进行检索
1.1.1 字符串搜索
在Moloch中,字符串字段是特殊的,因为它们可以以几种不同的方式搜索。当字段被索引时,它们的大小写可能是标准化的,也可能不是标准化的,这在下面的fields表中有记录。字符串搜索的类型有:
-
通配符:
如果表达式中出现*,则假定使用通配符匹配。支持的通配符是*,它匹配任何字符序列(包括空字符),以及?,它匹配任何单个字符。
通配符查询针对全文字符串运行,如果字段启用大小写规范化,则在大小写规范化之后运行。
例如http.uri == "www.f*k.com"将捕获http.uri字符串,它包含www.fork.com或www.frack.com。 -
正则表达式:
正则表达式查询必须被前斜杠包围,并且始终被锚定。这意味着您几乎总是希望包含一个开头和结尾。
在regex查询中。regex查询在字段的大小写规范化(如果启用)之后针对全文字符串运行。
例如http.uri = = /.* www \ .f.* k \ com.* /。它使用不支持大多数PCRE特性的Lucene regex实现。 -
列表:
在Moloch中,列表被用作执行多个或查询的快速方法。
例如,协议== [http,ssh]。该查询将搜索包含http或ssh的任何会话。
注意:包含通配符或正则表达式字符串的列表将作为普通字符串处理,而不是通配符和正则表达式。
1.1.2 IP搜索
IP搜索非常灵活,可以使用完整的IP地址、部分IP地址或CIDR表示来执行。
对于包含端口号的字段,可以使用冒号(ip4)或点(ip6)跟踪任何IP表示,然后使用端口号进一步细化查询。端口也是一级搜索,可以直接搜索。
例如:ip == 1.2.3.4/24:80。该查询将搜索所有包含1.2.3.4/24 CIDR范围内的IP地址的会话,并在会话期间使用端口80。
IP搜索也可以使用IP列表来完成,这些IP可能是混合表示的:ip == [1.2.3.4,1.3/16]。
1.1.3 数字搜索
除了默认的=和not =查询类型之外,数值字段还支持简单的范围操作符。例如,要显示传输的字节小于10000的事件,可以使用以下查询:bytes <= 10000。
数值字段还使用列表支持简单的或查询。例如,port == [80,443,23]。
1.1.4 日期搜索
(1)除了默认的=和not =之外,Date字段还支持简单的范围操作符。例如:starttime == "2004/07/31 05:33:41"。
(2)还使用列表支持简单的或查询。例如:stoptime ==["2004/07/31 05:33:41","2004/07/31 06:33:41"]。但是,使用搜索栏下的时间限制控件要容易得多,如下:
(3) 使用Splunk语法支持相对日期和可选的快照。
--------以加号(+)或减号(-)开头的字符串表示当前时间的偏移量。
--------用数字和单位定义时间量。支持的时间单位为:
- 秒:s, sec, sec, second, seconds
- 分钟:m, min, minute, minutes
- 小时:h, hr, hrs, hour, hours
- 天: d, day, days
- 周:w, week, weeks
- 月:mon, month, months
- 季度:q, qtr, qtrs, quarter, quarters
- 年: y, yr, yrs, year, years
1.1.5 字段存在查询
检查一个字段在会话中是否存在或者不存在使用:存在某字段,field==EXISTS!,或者否定存在某字段,field!=EXISTS!。
例如,为了验证一个证书没有签发者常用名但是具有一个签发者组织名称,那么应该使用:cert.issuer.cn != EXISTS! && cert.issuer.on == EXISTS!
1.1.6 例子
找出会话中涉及俄罗斯(RU)或者中国(CN),并且使用端口号80且主机名中包含“COM”的会话:(country == RU || country == CN) && port == 80 && host == *com
找出会话类型为"text/plain",涉及加拿大(CA),包含少于20个数据包的会话: tags == "http:content:text/plain" && country == CA && packets < 20
1.1.7 应用&创建默认过滤
经预先设置后,将指定的条件作为默认过滤。
a. 创建一条规则,与 IP 172.18.20.220 相关 TCP数据。
b. 点击 “New View” 可以添加新的默认过滤条件。可设置默认过滤名称及相应过滤表达式。
1.2 时间边界
1.2.1 设置回溯区间:如最后一个小时、最后一天等,点击 “Search”,查询数据。
1.2.2 设置回溯时间段:开始框允许选择开始时间/日期------结束框允许选择结束时间/日期,点击 “Search”,查询数据。
1.2.3 边界框:用于选择应用时间边界的位置(最后一个包、边界、会话重叠、数据库)。
- First Packet:按选中的区间,在会话显示面板按时间正序显示捕获的会话。
- Last Packet:按选中的区间,在会话显示面板按时间倒序显示捕获的会话。
- Bounded:过滤出已完成的会话数据。
- Session Overlaps: 过滤出已捕获到第一个包,还未接捕获最后一个包(即:会话正在进行)的会话数据。
- Database:按会话写入数据库的时间进行显示(有一定延迟,可能是在收到最后一个包的几分钟后)。
1.2.4 流量趋势:显示单位时间内流量趋势。(默认为小时)
1.2.5 会话显示: 设置 Sessions 页面显示会话数。(页面默认显示50条会话)
1.2.6 分页:每个页面选择框的分页控制和记录都在时间范围输入下找到,并允许用户导航返回的会话。将鼠标悬停在每页文本的记录上,以获取关于搜索了多少条目的更多信息。
1.2.7 流量面板:展示了实时监控趋势。
- 用户可以点击“+”或“-”放大镜,快速缩小或放大被观察的时间窗口
- sessions(会话)、packets(包)、databytes(字节)为三种展现形式
- 可选择以折线图(Lines)或柱状图(Bars)来展示流量趋势
1.2.8 源&目的:在地图中展示通信双方的地理位置
- S(source country)
- D(destination country)
6. Stats页面
.....