1

我试图创建一个正则表达式来为 splunk 中的 DNS 查询提取 CNAME。我可以获得第一个 DNS 名称(“CNAME 记录”之后和之前(“=”)的所有内容,但我找不到表达式来获取等号之后的下一个 DNS 名称。

Mar  1 09:16:43 123.dns.local Mar  1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for dl.wu.ms.edgesuite.net = a26.ms.akamai.net
Mar  1 09:16:43 123.dns.local Mar  1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for dom.dl.wu.akadns.net = dl.wu.ms.edgesuite.net
Mar  1 09:16:43 123.dns.local Mar  1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for main.dl.wu.akadns.net = dom.dl.wu.akadns.net
Mar  1 09:16:43 123.dns.local Mar  1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for download.windowsupdate.nsatc.net = main.dl.wu.akadns.net
Mar  1 09:16:43 123.dns.local Mar  1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for download.windowsupdate.com = download.windowsupdate.nsatc.net
Mar  1 09:16:43 123.dns.local Mar  1 09:16:43 dns-01-1 SDNS: -> Answer: CNAME-record for dl.wu.ms.edgesuite.net = a26.ms.akamai.net
4

2 回答 2

1

使用=in 数据和字符串结尾锚点添加所需的结构:

/CNAME-record\sfor\s(.*?)\s*=\s*(.*)$/
于 2012-03-02T00:57:39.690 回答
0

如果在第二个 DNS 之后有一些信息,请使用这个:

/CNAME-record\sfor\s(\S+)\s*=\s*(\S+)/

其中\S+表示一个或多个非空格字符。

于 2012-03-02T09:28:08.480 回答