我正在使用 [rt] 并希望创建一个操作来解析一系列防火墙规则,并将其中的 IP 地址作为逗号分隔值应用于字段。我的防火墙规则如下所示:
access-list ACL-outside-1net extended permit tcp host 172.16.0.7 host 10.0.1.55 eq www
access-list ACL-outside-1net extended permit tcp host 172.16.0.9 host 10.0.1.56 eq www
如果我可以有一个正则表达式,它将捕获“主机”之后发生的任何内容并将它们作为逗号分隔的字符串返回,而不会在行尾之前拾取所有内容,这将是我当前的失败点。
即我的正则表达式的理想输出是:
172.16.0.7,10.0.1.55,172.16.0.9,10.0.1.56
我感兴趣的规则总是eq $service or $port
以 IP 地址开头host
,但是 IP 地址可以是 ipv4 或 ipv6 并且 [rt] 会很聪明地解析地址,所以我宁愿选择“在主机之后” up to host”和“after host up to eq”,但我很难让正则表达式匹配,更不用说替换成逗号分隔的字符串了。
小帮助?
编辑 201305080832
我被要求(并且适当地反对)分享我的工作,所以这是我正在为 [rt] 工作的模板。
IPs|Body|host(.*)||
我的自定义字段被命名IPs
,我正在Body
搜索“主机”,然后一直在进行贪婪匹配,这不是Multi-value IP address
[rt] 中的字段可接受的 IP 地址。如果我从使用模板更改ExtractCustomFieldValue
为为此用例编写特定的脚本操作,则以下建议可能是可行的。
[rt]
请求跟踪器