Logstash:通过使用 Logstash 的 DNS 查找来丰富数据
2021年9月22日 | by mebius
我今天看了一篇文章 “Elasticsearch Data Enrichment with Logstash: A Few Security Examples”。它里面有介绍 Logstash 的DNS 过滤器。感觉是一个很不错的过滤器。但是使用起来不是很直接明了。你可以在 Elastic 测官方网站 DNS filter plugin 来详细查看它的使用方法。
在今天的文章中,我将以极其简单的例子来进行展示。这样让大家看得更明白一点。
首先,我们来tgcode创建一个叫做 logstash.conf tgcode的配资文件:
logstash.conf
input {
stdin {}
}
filter {
mutate {
add_field => { "domain_lookup" => "%{message}" }
}
dns {
tgcodereverse => "domain_lookup"
action => "replace"
nameserver => {
address => ["8.8.8.8", "8.8.4.4", "114.114.114.114", "192.168.0.1" ]
}
}
}
output {
stdout {
codec => rubydebug
}
}
在上面,我们使用 stdin 来输入。它将生成一个叫做 message 的字段。我们接着使用 mutate 过滤器来添加一个叫做 domain_lookup 的字段。它的内容是和 message 是一样的。我们最终使用 DNS filter 来对 IP 地址进行解析。在上面的 nameserver 中,我们使用了最为常见的 8.8.8.8,8.8.4.4 服务器来进行解析。
我们使用如下的方式来进行运行:
./bin/logstash -f logstash.conf
我们接着输入 IP 地址 8.8.8.8:
我们可以看到 dns.google 代替了之前的 message 里的内容 8.8.8.8。
我们接着来输入一个叫做202.108.22.5 的 IP 地址:
我们可以看到它是百度的 IP 地址。
当然我们也可以输入其它的 IP 地址:
最后,我来试试我本地的 Mac IP 地址:
参考:
文章来源于互联网:Logstash:通过使用 Logstash 的 DNS 查找来丰富数据
在今天的文章中,我将着重介绍 Point in time API。在接下来的文章中,我将介绍如何运用 PIT 来对搜索结果进行分页。这也是被推荐使用的方法。 Point in time API 默认情况下,搜索请求针对目标索引的最新可见数据执行,这称为时间点。…