迷惑トラックバックを拒否したりする仕組みについて、少し調べてみた。
MTだとプラグインとして「spamlookup」があり、デフォルトで設定のところに「bsb.spamlookup.net」が設定されている。どのような仕組みになっているのかtcpdumpを使って調べてみた。
tcpdumpは、Linuxに搭載されているパケットキャプチャで、自身のNICを通るパケットの詳細を記録していくツールだ。使い方は以下のように使う。
# /usr/sbin/tcpdump -w -v OUTFILE # /usr/sbin/tcpdump -r OUTFILE
1行目でファイルに書き出し、2行目でそれを読み込んで出力している。ほかにもポートを限定して取得したりオプションはいろいろある。
出力結果の一部を見ると
16:16:57.433560 IP hogehoge.homenet.filenet-tms > ns1.rbl.bitnames.com.domain: 36842 [1au] A? xxx.xxx.xxx.xxx.bsb.spamlookup.net. (60) 16:16:57.550412 IP ns1.rbl.bitnames.com.domain > hogehoge.homenet.filenet-tms: 36842 NXDomain*- 0/1/0 (105) 16:16:57.551235 IP hogehoge.homenet.filenet-tms > ns3.rbl.bitnames.com.domain: 51189 [1au] A? hogehoge2.jp.bsb.spamlookup.net. (60) 16:16:57.667861 IP ns3.rbl.bitnames.com.domain > hogehoge.homenet.filenet-tms: 51189 NXDomain*- 0/1/0 (105) 16:16:57.668402 IP hogehoge.homenet.filenet-tms > surbl.kconline.com.domain: 45772 [1au] A? hogehoge2.jp.sc.surbl.org. (54) 16:16:57.843048 IP surbl.kconline.com.domain > hogehoge.homenet.filenet-tms: 45772 NXDomain*- 0/1/0 (92)
出力結果は概ね「送信元.ポート > 送信先.ポート リクエスト/レスポンス」といった形だ。
上の表記ではとあるホスト「hogehoge2.jp」からhogehoge.homenet」に対してトラックバックを送信しているときのtcpdumpの一部を記載している。内向きDNSを使っているのでありえないドメインが記載されている。
1行目で、「hogehoge.homenet」から「ns1.rbl.bitnames.com」に対して「xxx.xxx.xxx.xxx.bsb.spamlookup.net」はありますか?と名前解決を行っている。この「xxx.xxx.xxx.xxx」はトラックバックの送信元のIPが振られている。
2行目で「ns1.rbl.bitnames.com」から「hogehoge.homenet」に対してレスポンスを返しており、どうやら先ほど問い合わせたレコードはありませんと言っている。
なるほど!!メールのブラックリスト同様にトラックバックのブラックリストも特定のDNSに「xxx.xxx.xxx.xxx.bsb.spamlookup.net」といった形で登録され、トラックバック受信元のアプリが、そこを参照して確認しているようだ。だから、トラックバックを送る際、受け取る側でDNS参照に時間がかかればそれだけユーザがブラウザで待たされることになる。
いつだったかプロバイダのDNSの遅さを調べたことがあったが、明らかに自分のDNSキャッシュサーバを立てたほうが早かった。トラックバックを受信するようなアプリを作る場合は、DNSキャッシュサーバぐらいは持っておいたほうがよいのかも知れない。
それにしてもtcpdumpは素敵だ。まさに情報の見える化ってやつだな。
Recent Comments