尝试使用以下命令在 conn 目录中运行 main.bro 文件时:
bro -i [interface] /location/to/bro/file/
我收到以下错误:
error in /home/ec2-user/bro/bro-2.5.1/scripts/base/protocols/conn/main.bro, line 14: identifier or enumerator value in enumerated type definition already exists
error in /usr/local/bro/share/bro/base/protocols/conn/./main.bro, line 124: already defined (Conn::log_conn)
internal warning in /home/ec2-user/bro/bro-2.5.1/scripts/base/protocols/conn/main.bro, line 124: Duplicate identifier documentation: Conn::log_conn
fatal error in /usr/local/bro/share/bro/base/frameworks/logging/./main.bro, lines 13-16: BroType::AsEnumType (error/enum) (error)
我的目标: 要返回conn.log文件,其中 orig_bytes 和 resp_bytes 不为空,所以我试图摆脱& main.bro文件中的那两个变量之后的可选标志。代码的所有其他方面都是相同的。
旁注:我设法检索conn.log文件,并对/ scripts / site /
中的local.bro文件进行了调整感谢您的帮助。
答案 0 :(得分:0)
Conn已被init-default.bro
加载。您可以在"裸模式下运行Bro,"使用-b
标志加载此文件的位置。
但是,如果您发现自己需要修改基本目录下的脚本,那通常表明您应该退后一步并思考这是否真的是正确的方法。在这种情况下,orig_bytes
和resp_bytes
为空,因为Bro没有看到来自发起者或响应者的任何流量用于这些连接。删除&optional
并不会改变这种情况。我关注的问题是,如果那里确实存在流量,为什么不能看到它?