15.1.3. eve json“jq”示例

jq工具对于快速解析和过滤JSON文件非常有用。本页包含各种各样的示例,说明如何将其与Suricata的eve.json一起使用。

这里讨论的基础知识是:

15.1.3.1. 着色输出

tail -f eve.json | jq -c '.'

15.1.3.2. DNS NXDOMAIN(DNS NXDOMAIN)

tail -f eve.json|jq -c 'select(.dns.rcode=="NXDOMAIN")'

15.1.3.3. 唯一HTTP用户代理

cat eve.json | jq -s '[.[]|.http.http_user_agent]|group_by(.)|map({key:.[0],value:(.|length)})|from_entries'

来源:https://twitter.com/mattarnao/status/601807374647750657

15.1.3.4. 主机的数据使用

tail -n500000 eve.json | jq -s 'map(select(.event_type=="netflow" and .dest_ip=="192.168.1.3").netflow.bytes)|add'|numfmt --to=iec
1.3G

注:可以使用大量内存。来源:https://twitter.com/pkt_inspector/status/605524218722148352

15.1.3.5. 监控部分统计数据

$ tail -f eve.json | jq -c 'select(.event_type=="stats")|.stats.decoder'

15.1.3.6. 检查警报数据

cat eve.json | jq -r -c 'select(.event_type=="alert")|.payload'|base64 --decode

15.1.3.7. 前10个目的港

cat eve.json | jq -c 'select(.event_type=="flow")|[.proto, .dest_port]'|sort |uniq -c|sort -nr|head -n10