携帯ブラウザのユーザーエージェント(User-Agent)による機種判別、キャリア判別

作成:2005-10-25、更新:2009-12-17
ドコモ、au、ソフトバンクの携帯ブラウザのユーザーエージェントによる機種判別、キャリア判別。



携帯ブラウザのユーザーエージェント

  1. ユーザーエージェントについて
    ドコモ、au、ソフトバンクの各携帯電話のブラウザのユーザーエージェントは、パソコンのブラウザと同様にプログラムで取得することができる。
    ユーザーエージェントを利用してキャリアの判別や機種判別を行うことができる。

    ユーザーエージェントには、ドコモなら「DoCoMo」、au・TU-KAなら「UP.Browser」、ソフトバンクなら「J-PHONE」、「Vodafone」、「SoftBank」という文字列が含まれている。
    これらの文字列を調べることで携帯電話のキャリアを判別することができる。
    ただし、Vodafoneの一部の機種は、「UP.Browser」という文字列がユーザーエージェントの途中に含まれている。
    キャリアを判別する場合は、「ユーザーエージェントの先頭の文字が何で始まるか」で判別した方が良いと思われる。


    また、ユーザーエージェントには機種名の文字列が含まれているので、機種の判別を行うことができ、それを用いてページの表示やダウンロードさせるものを機種ごとに分けることができる。

    自分の携帯電話のユーザーエージェントや個体識別情報を確認したい場合は、以下のページをご利用下さい。
    2次元バーコードからアクセスできます。

    http://testpage.jp/m/tool/uid_utn_ip_host.php?guid=ON
  2. ユーザーエージェントのサンプル
    ユーザーエージェントは、機種ごとにたくさんあるが、書き方のパターンは以下のどれかに当てはまる。
    詳細は、各キャリア公式サイトを参照。
    • ドコモの例
      • タイプ1(MOVA)
        DoCoMo/1.0/N503i/c10
        個体識別情報を得た場合は、
        DoCoMo/1.0/N503i/c10/ser12345678901

        タイプ2(FOMA)
        DoCoMo/2.0 N901iS(c100;TB;W24H12)
        個体識別情報を得た場合は、
        DoCoMo/2.0 N901iS(c100;TB;W24H12;ser123456789012345;icc12345678901234567890)

        P-07A のユーザーエージェント
        DoCoMo/2.0 P07A3(c500;TB;W24H15)
        ドコモ端末のユーザーエージェント
      • /c10や(c100)が付かず、機種名で終わる場合もある。
      • 個体識別情報は、個体識別情報を参照。
      • iモードブラウザ2.0 かどうかを見分けるには、キャッシュが500(c500)であるかを調べるしか方法がない。
    • auの例
      • 旧タイプ
        UP.Browser/3.04-SN12 UP.Link/3.4.4
        新タイプ
        KDDI-HI21 UP.Browser/6.0.2.254 (GUI) MMP/1.1
      • 機種の名称は、デバイスID(デバイスタイプ)と呼ばれる名称で表記されている。
        上の例だと、SN12やHI21がデバイスID。
        デバイスIDと製品名の対応表は、キャリアのサイトにある。
        デバイスIDを機種名に直したい場合は、変換処理を自作するか、ライブラリを探す。
        機種名をデバイスIDで表現するのは au の仕様。
        機種名を直接取得する方法はない。
    • ソフトバンクの例
      • SoftBank 4-2 Series(Jフォン時代のもの)
        J-PHONE/3.0/J-SH07
        SoftBank 6-5 Series(Jフォン時代のもの)
        J-PHONE/4.0/J-SH51/SN12345678901 SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0
        SoftBank 3G Series(ボーダフォン時代のもの)
        Vodafone/1.0/V904SH/SHJ001/SN123456789012345 Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
        SoftBank 3G Series(ソフトバンク時代のもの)
        SoftBank/1.0/910T/TJ001/SN123456789012345 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
      • 基本的に、J-PHONE(or Vodafone or SoftBank)/ブラウザバージョン/機種名/その他、という構成になっている。
  3. IP帯域
    パソコンのブラウザには、任意のユーザーエージェントを設定できるものがある。
    ユーザーエージェントを偽装できるブラウザを使わなくても、telnetを利用したり、アプリケーションを自作することで、任意のヘッダ情報を持たせて通信を行うことができる。
    ユーザーエージェントを携帯電話と同じものにして携帯サイトへアクセスするユーザーがいることも予想される。
    パソコンからのアクセスを防ぐには、ネットワーク機器や.htaccessなどで携帯電話で使用されているIPアドレス帯域からのアクセスのみ許可する設定を行う。
    各キャリアが使用しているIPの帯域は、キャリアのサイトで公開されている。
    IP帯域については 携帯キャリアのIPアドレス帯域 をご覧下さい。
    偽装方法については、 携帯サイトの動作テスト をご覧下さい。
  4. ホスト名
    ユーザーエージェントの他にホスト名もキャリアの判別に入れれば、より判別の精度が高くなる。
    ただし、DNSの情報が正しいとは限らない。
    • ドコモ
      • docomo.ne.jp
    • au
      • ezweb.ne.jp
    • ソフトバンク
      • jp-d.ne.jp
        jp-h.ne.jp
        jp-t.ne.jp
        jp-c.ne.jp
        jp-k.ne.jp
        jp-r.ne.jp
        jp-n.ne.jp
        jp-s.ne.jp
        jp-q.ne.jp
      • jp-t などのアドレスは、Jフォン東京(J-PHONE TOKYO)などの名残り。
        地域ごとに、Jフォン関西、Jフォン九州などがあった。


キャリア判別のサンプルソース



機種判別のサンプルソース(機種名を取得する)