0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Splunk: IPアドレスをCIDR表記で検索する

Posted at
実施環境: Splunk Free 8.2.2

0. 概要

IP アドレスの表記で、以下のようなものを見たことがある人は多いと思います。

198.1.32.0/28

細かい説明は省きますが、これは CIDR (サイダー)表記といい、 IP アドレスの範囲を記述する表記法の1種です。
Splunk の検索では、この CIDR 表記での条件指定も使用できます。

1. search コマンドの場合

search コマンドでは、特別なオプションなどなしに CIDR 表記での検索が可能です。
CIDR 表記を記載した文字列をイコール(=)で指定すれば、 CIDR 表記で検索できます。

Splunk
| makeresults count=10
| streamstats count AS CNT
| eval IPV4 = "10.20.30." . CNT
| search IPV4 = "10.20.30.4/30"

WS000346.JPG

IPv4 アドレスだけでなく、 IPv6 アドレスにも対応しています。

Splunk
| makeresults count=10
| streamstats count AS CNT
| eval IPV6 = "2022::" . CNT
| search IPV6 = "2022::4/126"

WS000348.JPG

この search コマンドは SPL 文の先頭で省略して使用されることがほとんどです。
無論、コマンドが省略されている場合でも CIDR 表記での検索は可能です。

Splunk
index="_internal" ip_address="127.0.0.0/24"
| table ip_address

WS000350.JPG

2. where コマンドの場合

eval コマンドや where コマンドでは、 cidrmatch という評価関数を使用することで CIDR 表記が扱えます。
引数は以下の通りです。

cidrmatch( CIDR 表記の IP アドレス範囲, IP アドレス )

Splunk
| makeresults count=10
| streamstats count AS CNT
| eval IPV4 = "10.20.30." . CNT
| where cidrmatch("10.20.30.4/30", IPV4)

WS000347.JPG

こちらも IPv4 アドレスだけでなく、 IPv6 アドレスにも対応しています。

Splunk
| makeresults count=10
| streamstats count AS CNT
| eval IPV6 = "2020::" . CNT
| where cidrmatch("2020::1/127", IPV6)

WS000349.JPG

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?