LoginSignup
8
9

More than 1 year has passed since last update.

Splunkでよく使う正規表現パターンまとめ

Last updated at Posted at 2018-12-26

前置き

  • Splunkを使ってフィールドを抽出する際の正規表現の記載方法まとめ
  • 正規表現ってたまにしか使わないから、すぐ忘れちゃいます。なので備忘録。
  • Splunkの画面でも正規表現チェックはできますが、実際に正規表現を色々試すのによく使うサイト→ regex101 スクリーンショット 2019-10-15 22.38.42.png 色でハイライトしてくれるからすっごくわかりやすい。オススメです。

ケース:URLからドメイン部分までを取得したい 

サンプルログ
url=http://aaa-v.weather.xxxxx.com/en-US/yyy/
  • 「http;//aaa-v.weather.xxxx.com」部分を抽出したい場合
正規表現
url="(?P<domain>(http|https):\/\/.*?)\/
  • 結果 スクリーンショット 2018-12-26 7.50.47.png

ケース:小数点を含む数字を取得したい

サンプルログ
{u'Temperature': 15.2}  
  • 「15.2」部分を抽出したい場合
正規表現
u'Temperature': (?P<Temperature>\d+(?:\.\d+)?)
  • 結果 スクリーンショット 2018-12-26 9.23.24.png

ケース:MACアドレスを取得したい 

サンプルログ
[{u'_id': u'02:00:00:36:ee:e8'}]
  • 「02:00:00:36:flag_ee:e8」部分を抽出したい場合
正規表現
u'_id': u'(?P<sub_id>[a-fA-F0-9]{2}[\:\-][a-fA-F0-9]{2}[\:\-][a-fA-F0-9]{2}[\:\-][a-fA-F0-9]{2}[\:\-][a-fA-F0-9]{2}[\:\-][a-fA-F0-9]{2})
  • 結果 スクリーンショット 2018-12-26 9.27.13.png

ケース:(サーチ時に*)Microsoft DNSログから綺麗に DNSクエリのFQDN部分のみ切り出したい 

サンプルログ
(13)notifications(6)google(3)com(0)
  • (13),(6),(3)などの数字をのぞいて、「notifications.google.com」を抽出したい場合
正規表現
| rex mode=sed "s/\(\d+\)/./g" field=query
| rex mode=sed "s/^\.|\.$//g" field=query
  • 結果 スクリーンショット 2019-02-01 14.21.15.png

ケース:(sysmonログから)MD5とSHA256を取り出したい 

サンプルログ
<Data Name='Hashes'>MD5=B8CB2DFCA7379908B0605331A759AF4C,SHA256=B0832DEC07A4CB6228B7B392D6ABAFB79E9BF7327605AE3E86E1E617DE7495A5</Data>
  • MD5とSHA256を抽出したい場合
正規表現
MD5=(?<md5>.*),SHA256=(?<sha256>(\b[A-Z\d]{64}\b)|(?:(?!\b[A-Z\d]{64}\b).)*)
  • 結果

スクリーンショット 2020-05-07 14.10.32.png

ケース:メールアドレスからドメイン部を抜き取る 

サンプルログ
test@sample.co.jp
  • ドメイン部を抽出したい場合
正規表現
(?<tld>([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$)
  • 結果

スクリーンショット 2020-12-22 14.39.01.png

ケース:IPアドレス部分を抽出したい場合 

サンプルログ
Received-SPF: pass (google.com: domain of bounces+3639386-6313-damosaison=toadspestcontrol.com@em.brighttalk.com designates 167.89.110.50 as permitted sender) client-ip=167.89.110.50;
  • IPアドレスをclient_ipフィールドとして抽出
正規表現
(?<client_ip>(?:[0-9]{1,3}\.){3}[0-9]{1,3})
  • 結果 スクリーンショット 2021-07-13 16.43.00.png
8
9
2

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
8
9