#spicy 运行的方式
# (1)输入的是字符
echo "GET /index.html HTTP/1.0" | spicy-driver my-http.spicy
spicyc -j -o my-http.hlto my-http.spicy
echo "GET /index.html HTTP/1.0" | spicy-driver my-http.hlto
echo "GET /index.html HTTP/1.0" | spicy-dump my-http.hlto
spicy-build -o a.out my-http.spicy
echo "GET /index.html HTTP/1.0" | ./a.out
# (2)输入的是pcap文件
zeek -Cr request-line.pcap my-http.spicy my-http.evt my-http.zeek
zeek -Cr request-line.pcap my-http.spicy my-http.evt my-http.zeek Spicy::enable_print=T
spicyz -o my-http-analyzer.hlto my-http.spicy my-http.evt
zeek -Cr request-line.pcap my-http-analyzer.hlto my-http.zeek
接口定义(evt 文件)
spicy不仅可以解析还能将一些信息提供给zeek。包括了analyzer和event。
Analyzer 定义:需要设置分析器的类型,设置zeek激活这些分析器的时间,以及确定使用哪些spicy的unit作为zeek的解析入口。
event 定义:明确提供给zeek的事件类型。
evt文件中使用#当作注释符。
protocol analyzer
格式如下:
ANALYZER_NAME:保证唯一性的前提下,可以任意选择分析器的名称。一般来说,按照惯例建议名称带有spicy::前缀,如spicy::PPTP,这样做的另一个好处是规范化的名称会自动添加到zeek的Analyzer::Tag的enum中,比如spicy::PPTP变成Analyzer:ANALYZER_SPICY_PPTP。
TRANSPORT_