毎回awkするのが億劫で、複数行に渡るIPアドレスを抽出してくれるツールを作りました。
Apacheやmaillogなどのログから、IPアドレスだけ抽出して整理することができます。
抽出と並べ替えの他に重複削除や前後に文字挿入なども行えます。
詳しい説明は下の方にまとめましたm(_ _m)
↓に結果が表示されます。
機能の説明
一行ごとにIPアドレスを抽出します。
一行にIPアドレスが複数出現する場合、最初の一件のみ抽出します。
IPアドレスではない行は無視されます。
重複しているIPアドレスはひとつにまとめます。
前後に文字列を追加できます。
【例】
ソースに以下の3行
1 2 3 |
Mon 10 01:20:30 ns sshd(pam_unix)[7506]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=255.255.255.255 Mon 10 01:20:30 ns sshd(pam_unix)[7506]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=255.255.255.255 Mon 10 01:20:30 ns sshd(pam_unix)[7506]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=255.255.255.254 |
前に入れる文字列に、
1 |
firewall-cmd --add-source= |
後ろに入れる文字列に、
1 |
--zone=block --permanent |
を入力して実行すると、
1 2 |
firewall-cmd --add-source=255.255.255.254 --zone=block --permanent firewall-cmd --add-source=255.255.255.255 --zone=block --permanent |
が出力されます。
IPが重複している
255.255.255.255
は一行にまとめられ、かつIPアドレスの昇順で並び変わります。
もちろん前後の文字は空欄でもOKです。
ご自由にお使いください。
[…] 先日、WEBツールでIPアドレスをソートするツールを作った際に気づいたJavaScriptでビット演算する際の注意点に関する投稿です。 結論から言うと、整数を期待してるのに、マイナス(負数)の演算結果になりまして、即実装とは至りませんでした。 とはいえちゃんとリファレンスには書かれているので悩むほどではなかったのですが・・・。 とりあえずJavaScriptのビット演算でunsignedを期待するとバグをの元になるという話です。 […]