Zeek分析

zeek命令行的选项设置

 

运行脚本文件

直接运行脚本 zeek  hello.zeek

event zeek_init(){
    print "hello, world!";
}
event zeek_done(){
    print "goodbye, world";
}

在Dos端,使用zeek直接解析pcap包:

1.  zeek -Cr mysql_complete.pcap  -e 'redef LogAscii::use_json=T;'  main.zeek

其中 -r 表示读取数据包的配置,  -e 'redef LogAscii::use_json=T;'表示将log文件内容以json形式输出。                 

2. 写一个__load__.zeek脚本,里面内容为

# 设置输出为json格式
@load tuning/json-logs

# 需要将自己写的zeek脚本加入生效
# @load ./datatypes.zeek

zeek -Cr mysql_complete.pcap  ./      后面的就是load.zeek文件所在的目录

清理log文件

要清除产生的log文件,可以编写一个shell命令文件,我命名为clean.sh, 里面的内容如下:

sudo rm conn.log dhcp.log dns.log dpd.log notice.log files.log packet_filter.log http.log snmp.log smtp.log ntp.log ssl.log weird.log x509.log > /dev/null 2>&1

注意:右击clean.sh文件,打开属性—>权限—>勾选允许作为程序执行文件,就可以解决找不到命令的问题。

动态的配置,指定输出需要解析的协议

 redef Analyzer::disable_all=T;     这样在zeek运行时默认禁止解析所有的协议,但是仍然会有conn.log和 packet_filter.log

Analyzer::enable_analyzer(协议类型)    加载需要解析的协议

或者是去禁止特定的解析协议,使用  redef Analyser:: disabled analyzers = {里面放要禁止的协议};

如果全部禁止,即注释掉zeek_init event,结果如下:只有两个log文件

如果指定了mysql协议,则输出如下:

否则会生成其他协议类型的log,能解析的全解析出来:

查看网卡获取的数据包数量,以及大小:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值