hideden.hatenablog.com

はてなぶろぐー。URLなげー。

SoftBank Mobileの携帯用GatewayをPCで通る方法のメモ

2009-08-02 15:10:00 iPhone使わない方法を追記

iPhoneを色々いじってる過程でやってみたら出来たのでメモ。さほど悪い事は出来ないと思うけど、色々自己責任で。

iPhoneSBMガラケーでは全く別のネットワークを使用しているため、通常iPhoneからは公式サイトやIPでアクセス制限をかけてる勝手サイトは見る事が出来ない。特に見る必要も無いのだが、実験としてやってみた。

iPhoneは通常 "smile.world" というAPNに接続している。一方、ガラケーはググって見たところ "mailwebservice.softbank.ne.jp" というAPNに接続しているらしい。っと言うことは、iPhoneの接続先をこれに変えてしまえばiPhoneSBMガラケー側のネットワークに入れる・・・はず。


用意するモノ

  • 香港版 or SIMUnlock済みの iPhone 3G/3GS
  • 普通に契約したSoftbankMobileの銀色SIM (iPhone用は黒SIM)


まず通常の黒SIM + APN書き換えでやってみたところ、黒SIMの契約ではこのAPNに接続する事が出来なかった。まぁ当然と言えば当然。なのでSIMUnlock iPhoneを使用して銀SIMにて試す事に。SIMUnlock or 香港版iPhoneの入手についてはググれば情報源がいっぱいあるのでそちらを参照。


ひとまず銀SIM側のネットワークに変なデータをなるべく流さないよう、メールのPush等を全部OFFにする。その後、黒SIMを取り外して再起動。再起動後、WiFi経由でAPN設定変更用の.mobileconfigを読み込ませる。
.mobileconfigはどこかのサーバーにUploadしてSafariで開くか、メールに添付して自分自身に送信して開けばOK。今回使用したのはこれ。一応APNのpasswordは伏せておいたので[APN_PASSWORD]の部分を書き換えた上で使用する。不思議な事にAPN名の"mailwebservice.softbank.ne.jp"でググるX01HT用などのページがいっぱいHitするのでそこに書いてあるのを使う。

.mobileconfigのプロファイルを適用したら、銀SIMをiPhoneに挿入し認識させ、「設定 > 一般 > ネットワーク > テザリング」でテザリングをONにする。接続方法はBluetoothでもUSBでもOK。iPhoneをPCに繋いで、iPhoneのステータスバーが青く変わりテザリング状態になればほぼ完了。これでPCがSBMガラケーテザリング経由で同一ネットワークに参加しているはず。



SBMの通常の携帯はWAPなので、そのまますべてのTCP/IPの通信が通るわけではない。どうやら特定のGatewayサーバーを経由してしかWebは見る事が出来ない模様。FirefoxでProxy設定とUserAgent設定を変更出来るAdd-onをインストールして

proxy: sbwapproxy.softbank.ne.jp:8080
UserAgent: SoftBank/1.0/705NK/NKJ001 Series60/3.0 NokiaN73/3.0650 Profile/MIDP-2.0 Configuration/CLDC-1.1

に設定。UserAgentはどうやらNokiaSamsungの端末のもので無いと「お客様の端末からはご利用になれません。(WJ46140E)」とエラーが出てはじかれる。SHやNの端末はProxyを使用せずにアクセスしてるのかもしれない。

あとは http://ptl/menu/ にアクセスすれば普通にYahoo!ケータイのメニューにアクセス可能。メニューリストやMy Softbankなんかも普通に閲覧出来る。実際のアクセスヘッダ/REMOTE_ADDRはこんな感じになる。

REMOTE_ADDR
    123.108.237.27
REMOTE_HOST
    w21.jp-t.ne.jp 


GET / HTTP/1.1
Connection: close
Accept: */*
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Accept-Encoding: identity
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Host: *******
User-Agent: SoftBank/1.0/705NK/NKJ001 Series60/3.0 NokiaN73/3.0650 Profile/MIDP-2.0 Configuration/CLDC-1.1
x-jphone-color: C262144
x-jphone-display: 240*320
x-jphone-msname: 705NK
x-jphone-region: 44020
x-jphone-uid: xxxxxxxxxxxxxxxx

x-jphone-uidはネットワーク側で付与されるものなので、MySoftbankで通知をONにしてあれば当然出る。UAFirefox側で設定したものがそのまま渡される模様。

携帯端末の設定で製造番号を付与する設定にした場合、製造番号としてSNの後にIMEI番号が付く。

User-Agent: SoftBank/1.0/705NK/NKJ001/SN000000000000000 Series60/3.0 NokiaN73/3.0650 Profile/MIDP-2.0 Configuration/CLDC-1.1

これのみでクイックログインを処理しているサイトは偽装すればログイン出来てしまうので危険かもしれない。特にUserAgentからIMEI番号を正規表現などで抜き取ってそれだけを利用している場合は、この方法を使えば偽装可能。uidの方を使うようにした方がいいかも。

ちなみにIMEI番号はほとんどの携帯のダイヤル画面で *#06# と入力すると調べる事が出来る。


ついでにiPhoneでOpenSSHを立ててログインして見てみた。テザリング中のiPhoneにUSB経由でSSHするには ssh root@192.168.20.1 でいける。(多分)

hideden-ipn:~ root# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000 
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.88 netmask 0xffffff00 broadcast 192.168.0.255
        ether xx:xx:xx:xx:xx:xx 
pdp_ip0: flags=8011<UP,POINTOPOINT,MULTICAST> mtu 1450
        inet 10.xxx.xxx.xxx --> 10.xxx.xxx.xxx netmask 0xffffffff 
pdp_ip1: flags=8011<UP,POINTOPOINT,MULTICAST> mtu 1024
pdp_ip2: flags=8011<UP,POINTOPOINT,MULTICAST> mtu 1024
pdp_ip3: flags=8011<UP,POINTOPOINT,MULTICAST> mtu 1024
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255
        ether xx:xx:xx:xx:xx:xx 

3G回線はpdp_ip0っぽい。proxyサーバーが

[hideden@hideden-macbook]$ host sbwapproxy.softbank.ne.jp
sbwapproxy.softbank.ne.jp has address 172.24.168.97

なので、この周辺を探せばNokiaUA以外でも通れるProxyとかあるのだろうか。この辺で飽きたので断念。



(2009-08-02 15:10追記)

↑のようなややこしい事をする必要は全くなかった。普通にSBMの携帯をUSBでPCにつないでダイアルアップすれば同じ事が出来た。

OSXの場合はこんな感じ。

Winとかの場合は適切なモデム定義をインストールするか、接続先APNをATコマンドで設定するとかする必要があるかも。

AT+CGDCONT=1,"IP","mailwebservice.softbank.ne.jp" 

とか。

こんだけあっさり出来ちゃうと、製造番号を認証に使うのは危ないな−。昔作ったヤツがちゃんとx-jphone-uidを使ってるか確認しよう。「IPでアクセス制限かけてるから、認証とかある程度適当でも大丈夫だよねwww」って感じじゃダメだね。