当前位置: 首页 > 工具软件 > Moloch > 使用案例 >

Moloch 搜索栏常用命令

白嘉石
2023-12-01

搜索栏
字符串搜索

        通配符:
    如果表达式中出现*,则假定使用通配符匹配。支持的通配符是*,它匹配任何字符序列(包括空字符),以及?,它匹配任何单个字符。
        通配符查询针对全文字符串运行,如果字段启用大小写规范化,则在大小写规范化之后运行。
        例如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的任何会话。
        注意:包含通配符或正则表达式字符串的列表将作为普通字符串处理,而不是通配符和正则表达式。
IP搜索
        对于包含端口号的字段,可以使用冒号(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)除了默认的=和not =之外,Date字段还支持简单的范围操作符。例如:starttime == "2004/07/31 05:33:41"。
    (2)还使用列表支持简单的或查询。例如:stoptime ==["2004/07/31 05:33:41","2004/07/31 06:33:41"]
字段存在查询
        检查一个字段在会话中是否存在或者不存在使用:存在某字段,field==EXISTS!,或者否定存在某字段,field!=EXISTS!。
        例如,为了验证一个证书没有签发者常用名但是具有一个签发者组织名称,那么应该使用:cert.issuer.cn != EXISTS! && cert.issuer.on == EXISTS!
        找出会话中涉及俄罗斯(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

举例

 Simple Moloch filtering expression: 
    ip.src == 10.0.0.38 && starttime >= "2016/03/03 22:19:03 && port.dst == 17500 

Filtering expression using HTTP tags: 
    protocols == http && http.method == GET && http.statuscode == 200 && stoptime <= "2016/03/04 00:00:00" Simple Moloch filtering expression: 
    ip.src == 10.0.0.38 && starttime >= "2016/03/03 22:19:03 && port.dst == 17500

Filtering expression using HTTP tags: 
    protocols == http && http.method == GET && http.statuscode == 200 && stoptime <= "2016/03/04 00:00:00"

 类似资料: