jdresolve が使えなくなってしまったため、それに代わるコマンドを探しているところです。
とりあえずは、apache 付属の logresolve で代用していますが、昨晩の自動処理結果を見ると、jdresolveでは5分で処理できていた内容が、25分掛かるようになってしまいました。
深夜のHTTPアクセスログ処理なので、特に問題はないのですが、遙かに処理量が多いファイヤーウォールログを処理させる場合には使えないのじゃないかと思えるくらいの性能に思えます。
logresolveとは別の逆引きユーティリティを探しておかないと今後困ることがあるかもしれないという気になり、別のツールを探すことにしました。
/usr/ports の下で、「make search key=”resolve”」 を実行し、フィルターを掛けてみたところ、「fastresolve」というツールが見つかりました。性能は良さそうなのですが、いろいろと問題があります。
なぜか ports からのインストール中にエラーが出る。エラーが出っぱなしなら良いのだけど、再度makeを掛けると通ってしまうのが気持ち悪い。
/usr/local/bin/perl -pe "s,DATADIR,/usr/local/share,g" ./make-report.1.in > make-report.1 cd . && aclocal cd . && automake --gnu --include-deps Makefile Use of "do" to call subroutines is deprecated at /usr/local/bin/automake-1.4 line 986. Use of "do" to call subroutines is deprecated at /usr/local/bin/automake-1.4 line 1147. automake: configure.in: required file `./config.guess' not found automake: configure.in: required file `./config.sub' not found *** Error code 1 1 error *** Error code 1 1 error *** Error code 1 Stop in /usr/ports/dns/fastresolve.
# make ===> Building for fastresolve-2.10_4 Making all in dns-terror Making all in modules Making all in scripts /usr/local/bin/perl -pe "s,DATADIR,/usr/local/share,g" ./make-report.1.in > make-report.1 cd . && CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status creating Makefile
次に、インストールできたものの、/usr/local/bin の下に fastresolve が存在しないこと。
pkg-descr ファイルに書かれている http://www.pix.net/staff/djm/sw/fastresolve/ をチェックしてみるものの、fastresolve の性能が高いことと使用するに当たって必要なパッケージ情報が書かれているだけで、使用例などの情報が存在しません。
/usr/local/bin 下コマンドのタイムスタンプをチェックして、dns-terror というコマンドが本体じゃなかろうかと見当を付けて試したところ、このコマンドで逆引きできることは確認できました。
使い方は、標準入力からIPアドレスが第一フィールドにあるファイルを読み込ませて、パイプで dns-terror コマンドに渡します。それだけでは出力されないので、 -o オプションで標準出力などに出力する必要があるようです。
/tmp> cat ip.txt | dns-terror -o tokyo.lifewithunix.jp - - [01/Nov/2012:00:00:04 +0900] tokyo.lifewithunix.jp - - [01/Nov/2012:00:00:09 +0900] crawl-66-249-73-3.googlebot.com - - [01/Nov/2012:00:00:10 +0900] 173.199.115.171.ahrefs.com - - [01/Nov/2012:00:00:17 +0900] 173.199.116.179.ahrefs.com - - [01/Nov/2012:00:10:47 +0900] 5 lines read. 0 (0.00%) invalid addresses. 0 (0.00%) cache hits from the DB file. 4 (80.00%) addresses were queried with DNS; 4 (100.00%) of those queries were successful.
コマンド名の terror って恐い名前が付いているな~と思いながら、ファイヤーウォールログのフィールドをいじってIPアドレスを最初に持ってきたファイルを試してみたところ、DNSを兼ねているADSLルーターのPPPoEセッションが切れました。このコマンド、本当に恐いわ。
DNSとして、BINDを直接使えば問題ありませんが、DNSサーバーの負荷は急上昇!一度検索したIPはキャッシュされるようなのですが、初回はどうしようもありません。それに、ログファイルの第一フィールドがIPアドレスでなければならないという制約も使いづらい。
fastresolveをすぐに削除はしませんが、dns-terror コマンドを使うのはためらってしまいそうです。他のコマンドを探さなくては。