Intip Trafik Request HTTP di Device mu menggunakan Charles



Awal-awal menjadi Mobile Developer, saya terkejut dengan adanya Charles Web Debugging Proxy ini, karena kita bisa ngintip request HTTP apa saja yang ada di sebuah aplikasi. IT'S LITTLE SCARY FOR ME.

Well, terlepas dari kengeriannya, Charles ini sangat membantu saya dalam debugging aplikasi yang sedang dikembangkan khususnya untuk lihat post param, atau param URL, atau response dari server. Tapi jika kalian menggunakan Retrofit sebagai REST Library nya (Android Developer) saya pikir tidak perlu Charles lagi.

Sebenarnya cukup mudah untuk menggunakan Charles ini, syarat-syaratnya adalah sebagai berikut:


  1. Terkoneksi di satu jaringan yang sama
  2. Mengatur Proxy di Device Android menggunakan alamat IP PC/Laptop yang kalian install Charles
  3. Aplikasi Charles terbuka saat kalian menggunakannya (Ngga penting banget buat disebutin)


Nah, untuk pengguna Android versi lollipop kebawah, kalian cukup memenuhi syarat-syarat diatas. Namun sayangnya, sejak Android versi Marshmallow (Kalo ga salah ya), kalian perlu pasang sertifikasi di Android Device kalian biar si Charles ini bisa baca trafik request HTTP yang terjadi di device kalian.

Oke, langsung aja kita meluncur ke langkah-langkahnya.

1. Install Charles di Laptop kalian

well, ini mandatory banget ya, buat kalian yang udah Install Charles bisa langsung ke step berikutnya. Nah buat kalian yang belum install, bisa download dulu Softwarenya di https://www.charlesproxy.com/download/ dan pilih sesuai dengan sistem operasi yang kalian gunakan. Sebagai Informasi Charless Proxy bersifat Freemium, dimana kalian bisa make secara gratis tapi dengan keterbatasan, yaitu setiap 30 menit aplikasi akan minta tutup secara paksa, jadi kalian harus menutup dan buka lagi.

2. Konfigurasi Charles

Setelah install Charles, selanjutnya kita konfigurasi dulu nih. Coba ikuti langkah dibawah ini yak.
- Buka Menu Proxy -> Proxy Settings, kemudian di tab Proxies isi dengan 8888



- Selanjutnya buka lagi menu Proxy -> SSL Proxying Settings, lalu di tab SSL Proxying, centang Enable SSL Proxying agar Charles dapat membaca request HTTP dari website yang menggunakan keamanan SSL. Untuk dapat membaca semua website yang menggunakan SSL, kalian perlu menambahkan Host Location terlebih dahulu dengan cara tekan tombol Add dan masukkan *.* di kolom Host dan di kolom Port kita bisa membiarkannya kosong.


3. Ketahui IP Address Laptop / PC mu

Untuk dapat mensingkronkan antara Charles dan Device Android mu, kalian perlu IP Address Laptop/PC kamu yang terinstall Charles untuk dipasang sebagai Proxy Address di Device Android mu (Akan dibahas di langkah selanjutnya). Untuk mengetahui alamat IP Laptop kamu caranya  berbeda-beda di setiap sistem operasi, kalian bisa Googling untuk cara ini ya. Tapi disini saya akan tunjukkan cara mudah untuk para pengguna Mac OS.

Pertama, kalian tekan tombol option yang ada dikeyboard Macbook kamu, kemudian tekan pada icon wifi di pojok kanan atas.


4. Unduh Charles Root Certificate

Nah, langkah ini hanya untuk yang menggunakan Device Android dengan versi Marshmallow dan diatasnya, kalo device kamu Lollipop kebawah bisa lanjut ke langkah berikutnya.

Ok, untuk mendapatkan Charles Root Certificate, kamu bisa pilih menu Help -> Save Charles Root Certificate. Kemudian, ketika menyimpan ubah ekstensi menjadi .cer.



Kemudian, pindahkan file .cer yang telah di unduh tadi ke dalam penyimpanan di Android device kamu. Bisa melalui drive atau USB. 

Setelah di pindah, kamu bisa pasang sertifikasi tersebut menggunakan File Manager, disini saya menyarankan kalian menggunakan FILE COMANDER yang bisa kalian unduh di Playstore.

Nantinya saat kamu memasang sertifikasi tersebut, maka kamu akan diminta memberikan nama terlebih dahulu. Kalian bebas memberi nama apa saja, sebaiknya yang menggambarkan untuk apa sertifikasi tersebut. Kemudian kalian akan diminta memasukkan PIN.


5. Pasang IP Address PC/Laptop sebagai Proxy

Kita sudah sampai di langkah terakhir nih, yaitu memasang Alamat IP Laptop/PC yang telah kita lakukan di langkah yang nomor 3. Disini cara memasang Proxy di Wifi berbeda-beda ya di tiap device Android, mungkin ada yang sama namun kebanyakan akan berbeda tergantung merk dan versi Android yang digunakan, belum lagi jika itu custom ROM.

Mungkin ini cara umumnya, kalian buka pengaturan dan masuk ke bagian WIFI, kemudian kalian tekan beberapa detik di bagian yang menunjukkan Wifi yang sedang tersambung hingga muncul context menu yang terdapat pilihan Modify Network dan kalian pilih itu.



Kemudian akan muncul pop up isian lagi, kalian pilih Advanced Options dan kemudian pilih pada bagian Proxy, lalu pilih Manual. Lalu isikan IP Address Laptop kalian dan port nya isikan dengan 8888 sesuai dengan yang kita konfigurasikan di Charles.


Jika sudah, kalian tekan saja itu tombol Save. Insya Allah sampai sini Charles sudah bisa ngintip trafik Request HTTP yang ada di device kamu.

PERINGATAN !! Jangan lupa ubah Proxy di device kamu menjadi None kembali jika sudah tidak memakai Charles lagi, karena Internet akan berjalan jika Aplikasi Charles sedang terbuka.

Oke, sampai sini saja tulisan kali ini, semoga bisa membantu teman-teman semua. Terima kasih




0 komentar:

Posting Komentar