You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Security Onion 16.04.5.6下BroCtl无法生成http.log问题求助

解决Security Onion中BroCtl无法生成http.log的问题

我来帮你排查这个头疼的问题——用Security Onion 16.04.5.6的Bro(现在已更名为Zeek)时,通过BroCtl管理却生成不了http.log,咱们一步步来梳理可能的原因和解决办法:

  • 确认HTTP脚本是否被正确加载
    Bro默认应该加载HTTP分析脚本,但偶尔会因为配置遗漏导致未加载。你可以执行broctl scripts查看当前加载的脚本列表,检查是否包含policy/protocols/http/main.bro或http.bro。如果没有,找到Security Onion的Bro站点配置文件(通常是/opt/bro/share/bro/site/local.bro),在文件末尾添加:

    @load policy/protocols/http
    

    然后执行broctl deploy让新配置生效。

  • 正确配置ignore_checksums参数
    你提到local.bro里没有这个选项,其实可以手动添加。打开/opt/bro/share/bro/site/local.bro,在文件末尾加入:

    redef ignore_checksums = T;
    

    一定要执行broctl deploy,否则Bro不会读取新的配置项。

  • 检查Bro的监听接口配置
    首先确认Bro监听的是你操作的enp0s3接口:

    1. 执行broctl status查看节点的监听接口信息;
    2. 或者直接查看/opt/bro/etc/node.cfg中的interface字段,确保它设置为enp0s3。
      如果监听接口不对,Bro捕获不到目标流量,自然不会生成http.log。
  • 修正网卡校验和设置并重启Bro
    虽然ethtool报了UDP分片卸载不支持的错误,但关键的校验和选项已经关闭了。不过可以再补充关闭接收端校验和:

    sudo ethtool --offload enp0s3 rx-checksum off
    

    之后执行broctl restart重启Bro服务,让网卡设置生效。

  • 找对日志存储的正确路径
    这是新手最容易踩的坑!Security Onion中Bro的日志默认不在当前执行目录,而是在专门的日志目录里。你可以用broctl config LogDir命令查看Bro的日志存储路径,通常是/nsm/bro/logs/current/或/opt/bro/logs/current/,去这个目录下找找http.log。

  • 确认监听接口有HTTP流量
    最后要确保enp0s3接口上有实际的HTTP流量(比如用浏览器访问HTTP站点,或用curl http://example.com发起请求)。可以用tcpdump -i enp0s3 port 80抓包验证,如果没有HTTP流量,Bro当然不会生成对应的日志文件。

内容的提问来源于stack exchange,提问作者roffensive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:26:08