Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

IIJmio meeting 10 端末の動作確認(後編) Slide 1 IIJmio meeting 10 端末の動作確認(後編) Slide 2 IIJmio meeting 10 端末の動作確認(後編) Slide 3 IIJmio meeting 10 端末の動作確認(後編) Slide 4 IIJmio meeting 10 端末の動作確認(後編) Slide 5 IIJmio meeting 10 端末の動作確認(後編) Slide 6 IIJmio meeting 10 端末の動作確認(後編) Slide 7 IIJmio meeting 10 端末の動作確認(後編) Slide 8 IIJmio meeting 10 端末の動作確認(後編) Slide 9 IIJmio meeting 10 端末の動作確認(後編) Slide 10 IIJmio meeting 10 端末の動作確認(後編) Slide 11 IIJmio meeting 10 端末の動作確認(後編) Slide 12 IIJmio meeting 10 端末の動作確認(後編) Slide 13 IIJmio meeting 10 端末の動作確認(後編) Slide 14 IIJmio meeting 10 端末の動作確認(後編) Slide 15 IIJmio meeting 10 端末の動作確認(後編) Slide 16 IIJmio meeting 10 端末の動作確認(後編) Slide 17 IIJmio meeting 10 端末の動作確認(後編) Slide 18 IIJmio meeting 10 端末の動作確認(後編) Slide 19 IIJmio meeting 10 端末の動作確認(後編) Slide 20 IIJmio meeting 10 端末の動作確認(後編) Slide 21 IIJmio meeting 10 端末の動作確認(後編) Slide 22 IIJmio meeting 10 端末の動作確認(後編) Slide 23 IIJmio meeting 10 端末の動作確認(後編) Slide 24 IIJmio meeting 10 端末の動作確認(後編) Slide 25 IIJmio meeting 10 端末の動作確認(後編) Slide 26 IIJmio meeting 10 端末の動作確認(後編) Slide 27 IIJmio meeting 10 端末の動作確認(後編) Slide 28 IIJmio meeting 10 端末の動作確認(後編) Slide 29
Upcoming SlideShare
IIJmio meeting 10 最近のIIJmioの動向
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

IIJmio meeting 10 端末の動作確認(後編)

Download to read offline

IIJmio meeting10の発表資料です。
http://techlog.iij.ad.jp/archives/1774

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

IIJmio meeting 10 端末の動作確認(後編)

  1. 1. © 2016 Internet Initiative Japan Inc. 1 株式会社インターネットイニシアティブ 大内 宗徳 IIJmio mtg 10 端末の動作確認方法の紹介(後半)
  2. 2. © 2016 Internet Initiative Japan Inc. 2 はじめに • 後半では、標準的な動作確認で問題が見つかった 端末の調査方法ついて紹介します。 • スピーカー • 大内 宗徳 • IIJのモバイルサービスに関わる技術や製品調査、 研究開発、機器動作検証を担当 • IIJmio meeting 5,6,7,8 でトークセッション を担当
  3. 3. © 2016 Internet Initiative Japan Inc. 3 端末の動作確認方法の紹介(後半) 1. 端末の調査方法について 1-1. 端末調査手法について 1-2. IIJで利用する端末検証ツール 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 2-2. データ通信が不安定問題の調査 2-3. (おまけ) 3. まとめ
  4. 4. © 2016 Internet Initiative Japan Inc. 4 端末の動作確認方法の紹介(後半) 1. 端末の調査方法について 1-1. 端末調査手法について 1-2. IIJで利用する端末検証ツール 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 2-2. データ通信が不安定問題の調査 2-3. (おまけ) 3. まとめ
  5. 5. © 2016 Internet Initiative Japan Inc. 5 1. 端末調査手法について • IIJmioのモバイル通信サービスが利用でき る、出来ないという観点で調査を行います。 • 調査手法としてはおおまかに2つに大別 1. ブラックボックステスト 2. 端末実装の詳細調査 1. 端末内部のファイルや設定値の解析 2. ソースコード解析 3. 外部とのデータ通信解析 4. モバイルの制御信号解析
  6. 6. © 2016 Internet Initiative Japan Inc. 6 1. 端末調査手法について 1. ブラックボックステスト • 松崎が行っているテストがこれに相当 • 実装方法が不明である状態で行うテスト • 条件を変えて結果が想定(仕様)通りかを確認 (例1) 条件: IIJmio音声SIM、データSIM(他社SIM) 結果: データ通信が可能か APNサーチ問題の発生の有無 LTEをすぐに掴めるか (例2) 条件: APNプロトコル = IPv4, IPv4IPv6 結果: IPv4, IPv6での通信が可能か 安定接続が可能か
  7. 7. © 2016 Internet Initiative Japan Inc. 7 1. 端末調査手法について 2. 端末実装の詳細調査 • 端末が期待通りに動作しない場合に、原因や回 避策を調査をするために行う 1. 端末内部のファイルや設定値の解析 • 端末が内部的に持つ通信設定を確認する • 端末内のログファイル、設定ファイル、設定 値を調査 • 設定の意味はWeb検索で調べる等 (例) • iOSのキャリア設定ファイル • Androidの各種設定ファイル • (Android) adb shell getprop, adb shell catlog
  8. 8. © 2016 Internet Initiative Japan Inc. 8 1. 端末調査手法について 2. 端末実装の詳細調査 2. ソースコード解析 • 端末の通信に関わる実装を直接確認して問題 がないか調査 • Androidのみ (例) • Android Open Source Projectで公開されて いるソースコードを調査 • チップベンダーのAndroid向け実装の調査 (Web検索で見つかるリーク情報?) • Linuxのkernel実装調査
  9. 9. © 2016 Internet Initiative Japan Inc. 9 1. 端末調査手法について 2. 端末実装の詳細調査 3.外部とのデータ通信解析 • 通信サービスに関係する重要な通信はSSL化されて いることが多いため、SSL化を解除して中身を解析 (例) iOS端末のApple社のサーバとの通信解析
  10. 10. © 2016 Internet Initiative Japan Inc. 10 1. 端末調査手法について 2. 端末実装の詳細調査 4.モバイルの制御信号解析 • 圏外になったり、LTEが掴みにくいなど、安定利用 出来ない場合に行う調査 • 端末と基地局とのモバイルの制御情報を調べる • 端末がQualcomm社のチップを利用し、かつ、 制御情報を抜き出せる場合のみ Application Processor モバイル制御部分 アプリケーションOS(Android/iOS) 制御情報 IPパケット RF Baseband Processor (Qualcomm) 制御情報
  11. 11. © 2016 Internet Initiative Japan Inc. 11 端末の動作確認方法の紹介(後半) 1. 端末の調査方法について 1-1. 端末調査手法について 1-2. IIJで利用する端末検証ツール 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 2-2. データ通信が不安定問題の調査 2-3. (おまけ) 3. まとめ
  12. 12. © 2016 Internet Initiative Japan Inc. 12 IIJで利用する端末検証ツール 1. ブラックボックステスト • 前半の松崎の発表を参照 2. 端末実装の詳細調査 1. 端末内部のファイルや設定値の解析 • Android SDK (adbコマンド) • plutil.pl (iOSキャリア設定ファイル変換) • 端末の特権取得ツール • Web検索 2. ソースコード解析 • Web検索, grep 3. 外部とのデータ通信解析 • mitmproxy 4. モバイルの制御信号解析 • 端末の特権取得ツール • Meritech社 Sigma-ML/LA/PA
  13. 13. © 2016 Internet Initiative Japan Inc. 13 端末の動作確認方法の紹介(後半) 1. 端末の調査方法について 1-1. 端末調査手法について 1-2. IIJで利用する端末検証ツール 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 2-2. データ通信が不安定問題の調査 2-3. (おまけ) 3. まとめ
  14. 14. © 2016 Internet Initiative Japan Inc. 14 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 • MVNOでGPSが動作しない?問題の調査 IIJmio meeting 5 http://techlog.iij.ad.jp/archives/1293 • キャリアのAndroid 白ROM端末でのGPSで位置 情報取得が遅い問題についての調査 結論: GPS Status & Toolbox アプリを使えば 改善する場合がある。 • iOS端末についても調査 結論: 問題発生せず • 下記手法をフル活用して調査 1. 端末内部のファイルや設定値の解析 2. ソースコード解析 3. 外部とのデータ通信解析
  15. 15. © 2016 Internet Initiative Japan Inc. 15 2. 端末の動作確認方法の実例 2-2.データ通信が不安定問題の調査 1. MVNOでAndroid(5.x以降)を利用した場合に、 圏外や3Gに落ちて安定した通信ができない問題 IIJmio meeting 7 http://techlog.iij.ad.jp/archives/1501 結論: iijmio以外のAPN設定を全て削除する 2. MVNOでiOS端末を利用した場合に、LTEにす ぐに切り替わらない問題 IIJmio meeting 8 http://techlog.iij.ad.jp/archives/1578 結論: 音声・SMS SIM利用の推奨 最新のAPN構成プロファイルの利用 • モバイルの制御信号解析の手法をフル活用
  16. 16. © 2016 Internet Initiative Japan Inc. 16 端末の動作確認方法の紹介(後半) 1. 端末の調査方法について 1-1. 端末調査手法について 1-2. IIJで利用する端末検証ツール 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 2-2. データ通信が不安定問題の調査 2-3. (おまけ) 3. まとめ
  17. 17. © 2016 Internet Initiative Japan Inc. 17 2. 端末の動作確認方法の実例 • 2-3. (おまけ) • 時間不足のため、追加トピックを1つし か紹介できません。 • どちらがよいでしょうか? 1. AndroidのIPv6テザリングについて • 最近のSIMフリー端末では実装されているが、 Google Nexusでは利用できないのでその背景の 調査 2. Apple SIMについて • IIJmioとは一切の関連はなく、純粋に興味本位 で調べました
  18. 18. © 2016 Internet Initiative Japan Inc. 18 2. 端末の動作確認方法の実例 2-3. AndroidのIPv6テザリングについて • 最近のAndroid SIMフリー端末はIPv6テザリン グに対応! • ただし不完全な実装 -> IPv6 DNSサーバアドレスがとれない (例) Arrows M02, ZenFone 2 Laser など • 一方で、GoogleのNexusシリーズは未対応 • 別件の問題の調査中に判明 • 下記手法を活用して調査 1. 端末内部のファイルや設定値の解析 2. ソースコード解析
  19. 19. © 2016 Internet Initiative Japan Inc. 19 モバイル ネットワーク (IIJmio) 2. 端末の動作確認方法の実例 2-3. AndroidのIPv6テザリングについて • テザリング動作の概要 IP: 100.64.0.2/32 GW: none (IIJmio向ける) DNS:100.64.X.Y 100.64.0.0/10 IP: 192.168.43.100/24 GW: 192.168.43.1 DNS:192.168.43.1 IP: 2001:db8:1:1::2/64 GW: fe80::a:b DNS:2001:db8::X IP: 2001:db8:1:1::100/64 GW: fe80::x:y DNS:2001:db8::X IPv4の場合(NATが必要) IPv6の場合(NATを使わない) PC テザリング 有効な端末
  20. 20. © 2016 Internet Initiative Japan Inc. 20 2. 端末の動作確認方法の実例 2-3. AndroidのIPv6テザリングについて • テザリングを実現するために端末に必要な機能 必要な機能、情報 IPv4の実現方法 IPv6の実現方法 SIMフリー Nexus アドレス変換機能 NAT 不要/ND Proxy(*1) △(*4) △(*4) IPアドレス割当 DHCPサーバ RA(*2) ○(*5) × デフォルトGW通知 DHCPサーバ RA(*2) ○(*5) × DNSサーバ通知 DHCPサーバ+ DNS proxyサーバ DHCPv6サーバ (*3) ×(*6) × (*1) Neighbor Discovery Proxy。NATは不要だが、同一ネットワークをテザリング側に 延長するにはIPv6制御パケット(ARP相当)の代理応答が必要に。 (*2) Router Advertisement。ICMPv6を利用してアドレス情報(上位64ビット)を渡す。 DNSサーバ情報をDHCPv6で渡すかのフラグ(Oフラグ)も含む。 (*3) DNSサーバの取得方法として当初はDHCPv6のみ。しかし、RAを利用する方法も 提案(RDNSS)されが、まだ主流ではない (Windowsでは実装されてない) (*4) LinuxではND Proxyの一部の機能(NS/NA)しか実装されていない。 (*5) チップメーカー側で独自の実装をしていると推測。 (*6) ある端末でこの実装を持つものもあった。
  21. 21. © 2016 Internet Initiative Japan Inc. 21 2. 端末の動作確認方法の実例 2-3. AndroidのIPv6テザリングについて • 参考文献 • Androidソースのコミットログ • LinuxのND Proxyの実装の取り込み https://android.googlesource.com/kernel/msm/+/6949dd43d713685dbbc362d28fd6a34b88c1378 9 https://android.googlesource.com/kernel/msm/+/acb8a1fe48c558893d5b6ec532c0482b8ce2df6f • AOSPのテザリングのon/offの制御(netd) • IPv6テザリングに関する実装なし https://android.googlesource.com/platform/system/netd/+/master/server/TetherController.cpp • Qualcomm端末向け(?)のnetd実装 • RA処理デーモン立ち上げ、v6 forwarding有効化、ND Proxy有効化 http://mysvn.zhu.im/Android-repos/qualcomm-android/system/netd/TetherController.cpp • IPv6 neighbour proxy | GeekLab • LinuxのND Proxyの実装について http://www.geeklab.info/2013/05/ipv6-neighbour-proxy/ • IPv6テザリングが端末で利用可能かの確認 1. テザリング有効時に起動されるデーモンの確認 adb shell の ps でradishが起動されていることを確認。 radio 5769 307 4944 388 ffffffff 89746390 S /system/bin/radish <= これ 上記のTetherController.cppで起動されるRA処理を担当するデーモンです。 2.v6のproxy_ndpとfowardingの有効化の確認 adb shell で テザリング有効時は下記の値に書き換わって、無効時は 0 であることを確認 1|root@ASUS_Z00E_2:/ # cat /proc/sys/net/ipv6/conf/all/proxy_ndp cat /proc/sys/net/ipv6/conf/all/proxy_ndp 2 root@ASUS_Z00E_2:/ # cat /proc/sys/net/ipv6/conf/all/forwarding cat /proc/sys/net/ipv6/conf/all/forwarding 2
  22. 22. © 2016 Internet Initiative Japan Inc. 22 2. 端末の動作確認方法の実例 2-3. Apple SIMについて • 1 SIMに複数のSIM情報を格納できるApple SIMの実装がどうなっているのか調べました。 • 1 SIMでauとGigSkyを同時契約して確認 • 1-4の手法を駆使して解析 1. 端末内部のファイルや設定値の解析 2. 外部とのデータ通信解析 3. モバイルの制御信号解析 4. SIM解析ツールを利用
  23. 23. © 2016 Internet Initiative Japan Inc. 23 2. 端末の動作確認方法の実例 2-3. Apple SIMの挙動について 4. SIM解析ツールの利用について • Comprion社 • File Tree Express Pro + カードリーダー • SIMのファイル内容をダンプ+解析表示 • Mini Move! • SIMと端末間のプロトコルを解析 Application Processor モバイル制御部分 アプリケーションOS(Android/iOS) RF Baseband Processor (Qualcomm) 制御情報 Mini Move!
  24. 24. © 2016 Internet Initiative Japan Inc. 24 2. 端末の動作確認方法の実例 2-3. Apple SIMの挙動について • 未契約状態のSIM • 見かけ上は何もデータのないSIM • CSNは FileID=3F00.2F02 に格納 • SIMと端末間で何かやり取りをすると、AT&T (IMSI:310380…)のSIMに変化 • 日本だとソフトバンク経由でのローミング接続する • SIMが直接、端末のIMEIを取得、SMS送信、キャリア情報 (MCC,MNC)を取得など行っている(詳細不明) • キャリアと契約するとSIM情報をサーバからダウンロードして いるように見える • サーバとの通信内容にGで始まるSIMベンダーの文字列が
  25. 25. © 2016 Internet Initiative Japan Inc. 25 2. 端末の動作確認方法の実例 2-3. Apple SIMの挙動について • 契約状態のSIM • 複数キャリアの同時契約や切り替えが可能 • 切り替わりに1分前後かかる • キャリア毎にICCIDやIMSIなどを別々にもっている
  26. 26. © 2016 Internet Initiative Japan Inc. 26 2. 端末の動作確認方法の実例 2-3. Apple SIMの挙動について • auプリペイド契約 • IMSI:44051…を利用(au VoLTE SIM同等) • Apple SIM対応iPad以外はSIMを認識しない • Apple SIM内のSIM情報を読める状態にするおま じないが必要 最初3つのAPDUコマンドがおまじない 残り2つがICCIDを読みだしている
  27. 27. © 2016 Internet Initiative Japan Inc. 27 2. 端末の動作確認方法の実例 2-3. Apple SIMの挙動について • GigSkyプリペイド契約 • IMSI:23801…が見える • Tele Denmark (TDC A/S)というキャリア • GigSkyのIMSIでない。なぜ? • 日本ではNTTドコモ経由でローミング接続 • iPadでのキャリア表示はGigSky • au契約と異なり、SIMを他の端末に挿しても利用可 • キャリア表示はdocomo、キャリア設定はTDC • 3Gでの接続のみ
  28. 28. © 2016 Internet Initiative Japan Inc. 28 端末の動作確認方法の紹介(後半) 1. 端末の調査方法について 1-1. 端末調査手法について 1-2. IIJで利用する端末検証ツール 2. 端末の動作確認方法の実例 2-1. MVNOでのGPS利用の調査 2-2. データ通信が不安定問題の調査 2-3. (おまけ) 3. まとめ
  29. 29. © 2016 Internet Initiative Japan Inc. 29 まとめ • 前半(松崎)パート • IIJmioの端末の動作確認方法について解説 • iOS端末動作検証の苦労点 • 過去の検証時の印象的なトピック • 後半(大内)パート • 問題のある端末の詳細な動作確認方法や利用ツールに ついて解説 • 端末の動作確認方法の実例の紹介 • 今後について • SIMフリー端末の制御信号に関わる接続問題の報告が多 いため、高度な解析が可能な基地局シミュレータの導 入も視野に

IIJmio meeting10の発表資料です。 http://techlog.iij.ad.jp/archives/1774

Views

Total views

31,893

On Slideshare

0

From embeds

0

Number of embeds

28,781

Actions

Downloads

30

Shares

0

Comments

0

Likes

0

×