[iOS] iOSデバイスの通信データ取得方法
2013/08/20
こんにちは。コンピュータ同好会顧問の元木です。
今回は、ちょっと技術寄りの話になります。
先日、あるIT系企業にお勤めのドキュメンテーション学科卒業生から、こんな質問を受けました。
■某OG「iOSデバイスの通信ログを取得する方法はありますでしょうか。」
誤解を恐れずに、上記質問を口語?訳してみますと・・・
■超意訳「iPhoneが、どんな風にネットしてるか、知りたいんですよね。」
となりました。さて、図書館司書の方が、この質問を受けた時、どういう回答をされるのか気になるところですが、自分としては、彼女に質問する前に、こんな回答を用意してみました。
■前提
◆iOSデバイスとは、Apple社で開発されている一部のハードウェアを指す。例えば、iPhoneやiPad, iPod touch等のインターネット通信(例えば、TCP/IP通信)が出来るデバイスの総称とする
◆(彼女が言う)通信とは、TCP/IP通信のこととする
◆iOSデバイス【自身】での通信データ取得ではなく、別の機器で取得手続きをすることとする
最後の前提の根拠は、Apple社の開発者ライブラリーのQ&Aに、当該内容に対する記事(QA1176)がありました。その中に、以下の記述があります。
iOS does not support packet tracing directly.
その後ろには、
However, if you connect your iOS device to a Mac via USB, you can use an OS X packet trace program to gather and analyze traces using the remote virtual interface feature. See iOS Packet Tracing for details.
とありますので、iOSデバイスを、MacintoshにUSBケーブルで接続するとパケットキャプチャが出来るようです。
接続したMacintoshに当該iOSデバイス用の仮想ネットワークインターフェイスを作成します。それが、Remote Virtual Interfaceという技術です。あとは、当該のMacintoshのTerminal上で、上記URLにあるコマンドを順番に叩いてパケットキャプチャするという流れです。開発者向け情報ですので、Xcodeのインストールが前提の様です。
Terminal上では、tcpdumpコマンドを使うことになりますが、MacOS X版のwiresharkもありますので、GUIで結果を見たい場合、それでもいいですね。
ちなみに、このwiresharkの使い方は、情報学コースの専門選択科目の一つである【ネットワーク各論 I 】という授業で教えています。2年生の後期から受講することが出来ますので、首を長くして、皆さんの到着をお待ちしております。
鶴見大学図書館には、wiresharkに関する図書が3冊入っていまして、自分で復習もできますね。
■Chris Sanders著 ; 岡真由美訳;実践パケット解析 : Wiresharkを使ったトラブルシューティング[第2版] 配架場所:開架 一般 請求記号:547.483/S
■久米原栄, 上田浩著;Wiresharkパケット解析リファレンス : Network Protocol Analyzer 配架場所:開架 一般 請求記号:547.483/K
■竹下恵著;パケットキャプチャ入門 : LANアナライザWireshark活用術 配架場所:開架 一般 請求記号:547.482/T
平成25年 8月24日(土)10:00~ (14:30受付終了)
平成25年 9月15日(日)13:00~ (15:30受付終了)
高校1・2・3年生と、保護者の方を対象としたオープンキャンパスを開催します。ドキュメンテーション学科のまなびの内容を詳しく紹介しますので、関心をお持ちの方はぜひ参加ください。
本学科の内容を詳しくお知りになりたい方は、ドキュメンテーション学科紹介ビデオをご覧ください。