iPhone単体でも使える!今どきのパケットキャプチャツール、Proxyman
この記事を書いた経緯
開発時にスマホアプリの通信を覗く[1]と言えば、永らくCharlesがデファクトだと思います。
自己署名証明書を使って簡単にSSLの通信を覗ける優れたソフトウェアです。かのGoogle Ads SDKのドキュメントにも、当然のようにCharlesが出没しますし、サポートでもデバッグ時に案内されます。
でもいい加減もっと新しくて便利なものが出てきているのでは無いか……?そうして見つけたのがProxymanです。確かに一度出始めの頃に検討したけど、自分の必要とした機能が無く結局使わなかったのを覚えています。
けれど再度使ってみると、UIがモダンで驚くほど痒いところまで手が届いてしまうソフトに仕上がっていたことに気づきました。
ここではその感動を分かち合うために共有します。なお、一部機能は有料なのでご注意を(しかし以下は全部無料で行えます)。
感動した点
1. iPhone単体で使える!
iOSアプリを見つけたのでどこまで出来るか試してみると、なんとiPhoneのローカルにダミーのVPNサーバを立て ホスト無し に通信を覗くことが出来ます!!!!!
SSL通信も自己署名証明書を駆使して覗けます。そこまでちゃんとやるの本当に凄い……と私は思いました。
ただMacのソフトのほうが画面は大きいし使いやすいしで、実際には私はそちらを使っているのですが、それでも動かした時の感動はひとしおでした。
2. アプリにライブラリを取り込むとNo Configで通信を傍受できる!
アプリにAtlantisというライブラリをPod、SwiftPM、Carthageなどで取り込み設定を行うと、端末側の設定無し(自己署名証明書のインストールなどもいらない) にSSL含む通信を傍受できます(ホストから端末の発見にはBonjourが使われ、そのallowは必要)。
色んな端末でのテストを行う際に非常に便利な機能であり、なおかつなるほどそっちに手を加えるのか!と気持ちいい気づきがありました。
3. UIと機能がモダン!
今どきのUIに今どきの機能が乗っかっています。LPがわかりやすいです。
- 複数条件での絞り込み
- ブレークポイント
- GraphQLデバッグ
- 応答の差し替え
- スクリプトツール
おわりに
About Usを見てみると、いわゆる個人開発ソフトウェアのように見えました。
個人開発者の端くれとして、こういういいモノを見ると、自分もやってやろうと元気づけられる、めっちゃいいソフトだと思いました!
-
パケットキャプチャツールと表題には書きましたが、ネットワークアナライザ、ウェブデバッギングプロキシとも呼ばれそう ↩︎
Discussion