メインコンテンツまでスキップ
Sumo Logic Japanese

CIDR

Sumo Logic の 3 つの CIDR operator は、CIDR (クラスレス ドメイン間ルーティング、"cider" とも呼ばれる) 表記を使用し、IPv4 ネットワークの分析を特定のサブネットに絞り込みます。CIDR 表記で IP アドレスのルーティング接頭辞を指定します。CIDR operator を使用すると、ネットワーク セグメント間のトラフィック量の判断、指定したネットワーク セグメント内のホストのイベント確認、または not operator を使用した特定のネットワーク セグメントからのものではないアドレスの検索ができます。

CIDR operator を使用すると、2 つの IPv4 アドレスのネットワーク セグメントの比較や特定のメッセージに含まれるネットワーク セグメントの特定ができます。

IPv4 アドレスでは、ビット数を可変にして、ネットワークを記述します。たとえば、最初の 24 ビットはサブネットワークを表し、残りの 8 ビットでそのネットワークの個々のホストを指定することもできます。ネットワーク セグメントを表すアドレスの部分をプレフィックスと呼びます。このプレフィックスに割り当てられるビット数は prefix_length です。

IPv4 アドレスではお馴染みの " ドット区切りの 4 つ組み " 表記は、ネットワークに割り当てられたビット数が 16 や 24 ではない場合、比較が困難です。CIDR operator でこれを解決できます。

クラスレス ドメイン間ルーティングの全般的な情報については、オンライン記事を参照してください。

getCIDRPrefix

IPv4 アドレスからネットワーク プレフィックスを抽出します。 

構文

  • getCIDRPrefix(<ip_addr>, <prefix_length>) as <field>

ip_addr は文字列表現 ("10.10.1.35" など)

prefix_length は整数 (0 ~ 32) です。

getCIDRPrefix("10.10.1.35", toInt(24)) as net10.10.1.0 を返します。

getCIDRPrefix("10.10.1.35", toInt(27)) as net10.10.1.32 を返します。

getCIDRPrefix("10.10.1.35", toInt(29)) as net10.10.1.32 を返します。

compareCIDRPrefix

2 つの IPv4 アドレスを比較して、ネットワーク プレフィックスが一致する場合は true を返します。

構文

  • compareCIDRPrefix(<ip_addr1>, <ip_addr2>, <prefix_length>) as <field>

ip_add1 と ip_addr2 は文字列表現です ("10.10.1.35" など)。

prefix_length は整数 (0 ~ 32) です。

ブール式の構文

  • compareCIDRPrefix(<ip_addr1>, <ip_addr2>, <prefix_length>)

特定のネットワーク セグメントのイベントを確認するには:

  1. イベントを検索します。たとえば、次のようにファイアウォールのログを確認します。
    (denied OR rejected AND _sourcecategory=firewall | ...
  2. IP アドレスを parse します。例:
    ... | parse "ip=*," as ip_address ...
  3. リクエストした CIDR の完全表記と比較します。たとえば、10.10.1.32/27 とします。
    ... | where compareCIDRPrefix("10.10.1.32", ip_address, toInt(27)) | ...
  4. レコードの検索を繰り返して、一致しないレコードを検索結果からドロップします。
    ... | count by ip_address

特定のネットワーク セグメントからではないイベントを確認するには:

  1. イベントを検索します。たとえば、次のようにファイアウォールのログを確認します。
    (denied OR rejected AND _sourcecategory=firewall | ...
  2. IP アドレスを parse します。例:
    ... | parse "ip=*," as ip_address ...
  3. リクエストした CIDR の完全表記と比較して、一致するレコートをドロップします。たとえば、10.10.1.32/27 とします。
    ... | where !compareCIDRPrefix("10.10.1.32", ip_address, toInt(27)) | ...

maskFromCIDR

IPv4 アドレスでブール演算をするためのサブネット マスクを返すユーティリティ関数。

構文

  • maskFromCIDR(<prefix_length>) as <field>

prefix_length は整数 (0 ~ 32) です。

CIDR マスク
32 255.255.255.255
31 255.255.255.254
30 255.255.255.252
29 255.255.255.248
... ...

 

  • この記事は役に立ちましたか?