我不知道如何在 splunk 中查询提取未知发件人

I don't know how to make query for extract unknown sender in splunk

sourcetype 中有 SMTP 和 DNS 流量。我想根据 DNS 流量在 SMPT 中提取任何未知发件人的电子邮件。

所以,我正在尝试获取不属于 DNS 主机的发件人电子邮件,但我不知道该怎么做。

index=payload sourcetype="stream:smtp"
| rex field=sender_mail "\@<?host>.*"
[ search index=payload sourcetype="stream:dns" NOT host ]

关于rex提取,问号(?)需要在捕获组之外。 在这里看一些例子,不确定我想象的捕获组是否真的匹配你的输入 https://docs.splunk.com/Documentation/Splunk/8.0.6/SearchReference/Rex

另外请注意 host 文件是一个特殊的文件,它用于很多 splunk 事件,因此您可能不想尝试使其过载。在第一次提取时,提取一个名为 host 的字段可能会与在 stream:smtp 源类型中找到的现有主机字段发生冲突。我建议完全使用另一个名称

index=payload sourcetype="stream:smtp" OR sourcetype="stream:dns"
| eval hosti=host
| rex field=sender_mail "\@(?<hosti>.*?)\s"
| chart count over hosti by sourcetype
| where 'stream:dns'=0