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

CIDR

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

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

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

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

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

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 "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 "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
... ...

 

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