_ この前のまっちゃ445勉強会で、spamassassin は AS 番号によるルールも書けるよー、という話があったんだけど、そういえばお手軽に IP アドレスから AS を調べるにはどうすればいいんだろ。そういう情報を公開してるサービスに頼るか、経路情報を持ってるルータから拾ってくるぐらいしか思いつかんのだが、なんかうまい方法あるんかね。
_ とりあえず、そういう情報を公開してるサービス。
v6 も可。ちなみに AS15169 は こんな感じでよその AS とつながってるようです(このリンク先サイトも IP アドレスから AS を探せる)。% whois -h whois.ra.net 66.249.89.99 route: 66.249.88.0/23 descr: Google origin: AS15169 notify: noc@google.com mnt-by: MAINT-AS15169 changed: noc@google.com 20090818 source: RADB_ そんなわけで、spamassassin がどうやって AS 番号を見つけてくるのかソースを調べてみる。……へー、whois や web じゃなくて DNS で情報を返してくれるサイトがあるんだ。それは知らなかった。
66.249.88.0/23 は AS15169 ですよ、と。v6 には対応してない模様。けっきょくのところ外部のサービスに頼るという点ではほかと同じ。% host -t txt 99.89.249.66.asn.routeviews.org 99.89.249.66.asn.routeviews.org descriptive text "15169" "66.249.88.0" "23"_ そういえば squid も AS 番号による acl が書けた。あれは接続元を制限するためというよりも、むしろ多段プロクシを構成する際に最適な上位プロクシを選択できるように存在してるんだと思う。たぶん。そんな広域分散なプロクシを作る機会なんかないので使う機会もないだろうけど。ちうわけで squid のソースを調べる。……あー、これも whois.ra.net に聞きにいってるだけか。
_ えーと、 IRRd。経路情報データベースを管理するデーモン。こいつも経路情報を自力で探してくるんじゃなくて、RADB の情報をミラーしたりするのが基本の模様。
_ 結局のところ IP アドレスから AS 番号を調べるには、ルータから経路情報を拾ってくるか、そういう情報を提供するよそのサービスに尋ねるしかないという当初の理解で正しかったのかな。まあ、ふつーに考えたら BGP の世界のものが BGP を喋ることなしに入手できるはずがないわな。
_ こちらが頼みもしないのに「こんな spam が届いたー」と見せびらかす奴を spammer 認定してもいいでしょうか。