iPhoneやAndroidなどのスマホ・タブレットのパケットキャプチャについて
いつも大変お世話になっております。いけりり竹下です。
お客様によく聞かれるテーマとして、スマホ・タブレットの通信を(そのままLTEや5Gで)パケキャプしたいというのがあります。
キャリアの方にも聞いてみたのですが、現状の国内の主要キャリアであれば
LTE/5Gの通信を直接手軽にキャプチャする機器は原則的にはにはありません。
2G(GSM)、3Gやまだセキュリティ意識の低かった時代は中経路が甘い場合もありましたが
たとえ自己調達や自作してキャプチャしても通信内容が暗号化されており、
中経路も含めて現在は現場のフィールドSEなどの方であっても簡単に暗号解除
できるものではありません。
また、よくいわれているような直接キャプチャするようなStingray(Stingray phone tracker – Wikipedia)のような機器は
裁判所の許可が必要なうえ暗号の設定を入手して解除するので非常に面倒です。
https://en.wikipedia.org/wiki/Stingray_phone_tracker


eb733e2fb9096b8f712ce9aed275f1c8f6e9f37d

※もちろん、LTE/5Gのネットワークから通常の有線LAN(SDWAN等)へと中継されれば
有線側でそこでこれまで通りキャプチャができます。
 
少なくとも日本の主要キャリアであれば安心して使って大丈夫です。
それではLTEや5Gのパケットをキャプチャする方法がないかというとそうではありません。
 
参考:android - Capturing mobile phone traffic on Wireshark - Stack Overflow
https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark
 
1:AndroidのアプリやRoot化によってキャプチャする(Androidならtcpdumpをインストールできます)iPhone不可
 
tPacketCaptureというアプリやKismetのMichel Kershuさんがツールを作ってます
 
2:iPhoneのデバッグ機能のRVI(remote virtual interface )を利用してキャプチャ
 
開発者ツールおよびMacOSが必要で開発者証明書が必要なので、自分のAppleIDのスマホやタブレットのみキャプチャ可
 
3:WiFiでIEEE802.11フレームをキャプチャ (iPhone/Androidともに可能)
 
4:VPN設定をしてVPNコントローラー側でキャプチャ(iPhone/Androidともに可能)
 
5:プロキシサーバを経由するようにして通信をキャプチャ
 
などでしょうか?このうち、やはり比較的簡単なのは5や4
完全にパケットをとれそうなのが2です。Androidであればアプリを作れば
パケットをとることが簡単にできそうですが、iOSの場合は今のところは
難しそうです。以下ご参考くださいませ。