facebook twitter hatena line google mixi email

セキュリティ/Charles

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

Charlesとは

httpやhttpsの内部を閲覧&書き換えることができるツール

試用版

起動時に10秒ほど広告がでたり、30分経つと落ちたりするが、数日で使えなくなることはなさそう。

準備

  1. proxy/proxySettingでportなどを変更できる(defaultは8888)
  2. localアドレスはhelp/LocalIpAddressで確認できる

使い方

  1. proxy/BreakpointSettingからEnableBreakpointsにチェックを入れ、addを選択
  2. schemaにgetを選択肢、protocolにhttpを選択、hostに割り込みたいexample.comなどを入れる
  3. requestにチェックを入れてokを押す
  4. example.comにアクセスすると解析画面が自動で開く

portやpathは未入力でも大丈夫そうです。

解析画面が出ないときはbreakpointなどの設定でokを一度押して見る。あとはbreakpointのpathなどを固定で指定してみる

httpsでの使い方(mac編)

  1. Proxy/SSL Proxying SettingsでAdd選択して*.*を追加する
  2. Help/SSLProxying/Install charles root certificateを選択
  3. macのキーチェーンを開きCharles Proxy CAをダブルクリックし
  4. 信頼を開き、常に信頼にして閉じる
  5. charlesアプリを開きbreakpointでprotocolを"https"にしてhostに設定したurlをブラウザで開くと解析画面が自動で開く

解析画面が出ないときはbreakpointなどの設定でokを一度押して見る。あとはbreakpointのpathなどを固定で指定してみる

httpsでの使い方(android編)

  1. androidのchromeで証明書をおとす http://charlesproxy.com/getssl
  2. 上記証明書DLが無理だった場合は charlesのhelp/ssl proxying/save charles root ~をしてsslを
  3. ファイル名charles-ssl-proxying-certificate.pemをcharles-ssl-proxying-certificate.cerに変更
  4. android端末にcerファイルを渡してinstall (installすれば自動で証明書がonになる)
  5. android端末のwifi設定で接続されてるSSIDを長押ししてネットワーク変更/詳細オプションを表示するをクリック
  6. macのlocalIp(10.6.28.57だった)と8888を入れる
  7. mac側にcharlesでacceptかdenyするかダイアログが開くのでacceptを選択
  8. あとはandroid端末でhttpsを確認するとcharles側にログが出てくる

証明書削除したい場合

セキュリティ/信頼できる認証情報からcharlesを探して削除

参考: https://qiita.com/Capotasto/items/a51a76a8670e67798861

参考: https://community.tealiumiq.com/t5/Tealium-for-Android/Setting-up-Charles-to-Proxy-your-Android-Device/ta-p/5121

参考

通信系のデバッグには Charles が便利 https://qiita.com/usagimaru/items/d340e87da98e62f99b60