セキュリティ/Charles
提供: 初心者エンジニアの簡易メモ
Charlesとは
httpやhttpsの内部を閲覧&書き換えることができるツール
試用版
起動時に10秒ほど広告がでたり、30分経つと落ちたりするが、数日で使えなくなることはなさそう。
準備
- proxy/proxySettingでportなどを変更できる(defaultは8888)
- localアドレスはhelp/LocalIpAddressで確認できる
使い方
- proxy/BreakpointSettingからEnableBreakpointsにチェックを入れ、addを選択
- schemaにgetを選択肢、protocolにhttpを選択、hostに割り込みたいexample.comなどを入れる
- requestにチェックを入れてokを押す
- example.comにアクセスすると解析画面が自動で開く
portやpathは未入力でも大丈夫そうです。
解析画面が出ないときはbreakpointなどの設定でokを一度押して見る。あとはbreakpointのpathなどを固定で指定してみる
httpsでの使い方(mac編)
- Proxy/SSL Proxying SettingsでAdd選択して*を追加する
- Help/SSLProxying/Install charles root certificateを選択
- macのキーチェーンを開きCharles Proxy CAをダブルクリックし
- 信頼を開き、常に信頼にして閉じる
- charlesアプリを開きbreakpointでprotocolを"https"にしてhostに設定したurlをブラウザで開くと解析画面が自動で開く
解析画面が出ないときはbreakpointなどの設定でokを一度押して見る。あとはbreakpointのpathなどを固定で指定してみる
httpsでの使い方(android編)
- androidのchromeで証明書をおとす http://charlesproxy.com/getssl
- 上記証明書DLが無理だった場合は charlesのhelp/ssl proxying/save charles root ~をしてsslを
- ファイル名charles-ssl-proxying-certificate.pemをcharles-ssl-proxying-certificate.cerに変更
- android端末にcerファイルを渡してinstall (installすれば自動で証明書がonになる)
- android端末のwifi設定で接続されてるSSIDを長押ししてネットワーク変更/詳細オプションを表示するをクリック
- macのlocalIp(10.6.28.57だった)と8888を入れる
- mac側にcharlesでacceptかdenyするかダイアログが開くのでacceptを選択
- あとはandroid端末でhttpsを確認するとcharles側にログが出てくる
証明書削除したい場合
セキュリティ/信頼できる認証情報からcharlesを探して削除
参考: https://qiita.com/Capotasto/items/a51a76a8670e67798861
参考
通信系のデバッグには Charles が便利 https://qiita.com/usagimaru/items/d340e87da98e62f99b60