I"ň<p>In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnâ€™t provide us a method to modify their own certs. For these situation, I still didnâ€™t find a good solutions for it. But Iâ€™ll keep updating this if I get one.<br />
My current solution is using AP to forward all SSL traffic to a proxy, <a href="https://www.charlesproxy.com/">charles proxy</a> is my first choice (Prof asked). Itâ€™s a non-free software which still update new versions now. So mainly, Iâ€™ll talk about how to charles SSL proxy.</p>

<h3 id="preparations">Preparations</h3>
<ul>
  <li>Monitor device situation: Linux Machine with wireless adapter</li>
  <li>Download the newest version(4.0.1) of charles</li>
  <li>Target android devices with root privilege</li>
</ul>

<h3 id="install-charles-and-configuration">Install Charles and Configuration</h3>

<ul>
  <li>You have to install charles first. After downloading the charles proxy, you have to unzip it and configure some basic settings.</li>
</ul>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># open charles first</span>
./bin/charles  
</code></pre></div></div>
<ul>
  <li>Save charlesâ€™ private key and public key</li>
</ul>

<p>In Help -&gt; SSL Proxying -&gt; Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format.<br />
You also need to save charles Root Certificate, it also contains in the same menu. For convience, save it as *.pem format.</p>

<ul>
  <li>Set Proxy and SSL Proxy</li>
</ul>
:ET