うまいぼうぶろぐ

linuxとhttpdとperlのメモ

au - BREWのCIDR情報

auBREWの端末のIPは通常のezwebがアクセスしてくる帯域とは違うことを最近知った。


で、BREWアプリのサイトのapacheIPアドレスのアクセス制限かけろや、と見えない力が働いてきたのでIP帯の更新チェックをしようと思いました。が、WWW::MobileCarrierJP::EZWebにはBREWのCIDRを取ってくるモジュールがなくてしょんぼり。(WWW::MobileCarrierJP::EZWeb::BREWっていうBREWに対応している端末のリストを取ってくるモジュールはあった。) 需要ないのんかな?作者(id:tokuhirom ??)へのコンタクト方法がよくわかってないし、簡単そうだから書いてみた。簡単だった。

package WWW::MobileCarrierJP::EZWeb::BREW::CIDR;
use strict;
use warnings;
use Web::Scraper;
use URI;

sub url { 'http://www.kddi.com/business/otoiawase_support/support/tec/index.html'; }

sub scrape {
  scraper {
    process '/html/body/div/div[3]/div/div[2]/div/div/div/table/tr/td[1]', 'ip[]', [
      'TEXT', sub {
         s{\s}{}g;
         m{^([0-9.]+)(/[0-9]+)};
         +{ ip => $1, subnetmask => $2 };
      }
    ];
  }->scrape(URI->new(__PACKAGE__->url))->{ip};
}

1;


というかアクセスなんてほとんどないから

 Order deny,allow
 deny from all
 allow from .brew.ne.jp

とかでも十分なわけですが :-)