Intercepting network traffic on Android

. 4 min read

In this blog post we are going to have a look at how to intercept an Android application network traffic using a proxy tool – in this case Burp Suite. Below are the things you’ll need:

  1. Burp Proxy – you can download a free version from here
  2. Rooted device/android emulator (Genymotion)
  3. Android SDK Tools installed (We’ll need ADB)

First run the burp proxy on the host machine, then click on **Proxy | Options **and in the Proxy Listener menu item, click on add interface .

Add **8080 **(or any other port for that matter where you want to capture the traffic) in the **Bind to port **option. This is simply a port number where the Burp proxy will be listening for the network traffic coming from the Android device.

In “Bind to address select simply select “Specific address” and in drop down menu select an ip address which is assigned to your host machine by virtual-box which is in my case and click on OK


Start the android emulator (I am using android api version 4.4.4 KitKat in Genymotion)
After starting an android emulator, go to settings->WiFi then click and hold the active wifi connection and select modify network.

click on “Show advanced options” and in proxy (by default it is set to none) click on the drop down menu and select manual and now you should see more options like Proxy hostname and proxy port.

In the host name put the IP address of the Host machine where the burp is listening in my case it was and port number was 8080 (port to which burp proxy is binded) and click on Save and now you will be able to intercept all the “HTTP” (unencrypted) traffic that is sent by the android applications.


But now a days most of the android application transmits data over SSL which you cannot normally intercept using the above step. So to intercept the SSL traffic you need to import a CA certificate (of your host machine proxy which will be intercepting the android traffic) to the android keystore.

To do this you need to perform additional steps given below:

  1. change the proxy setting in the browser and set the host to and port to 8080 then go to http://burp/ and click on CA Certificate and it will download a CA certificate.


  1. Rename the CA certificate to cacert.crt and push it to the emulator SDCARD using the following commands:

  2. adb connect 2. adb push cacert.crt /mnt/sdcard/cacert.crt


  1. Now in the emulator / device go to “Settings->Security” in the Credential storage select “Install form SD Card” and then you can select the “cacert.crt” file present in the sd card and give the name cacert and click on ok and it will ask you to set a lock screen click on ok and select a type of lock screen and confirm (don’t forget the lock screen pattern)

Screen Shot 2015-08-24 at 12.42.52 pm

And thats it! Now you will be able to intercept the SSL traffic of the android applications.

Screen Shot 2015-08-24 at 1.05.51 pm

Is this the end ?? No.

Now a days most of the critical applications use a mechanism used SSL pinning.

What is SSL Pinning?

SSL pinning is basically checking if the server certificate matches with the certificate in the application. If not then it will give you an error and you wont be able to intercept the traffic.

By default when making an SSL connection, a client checks that the server’s certificate:

  1. Has a verifiable chain of trust back to a trusted (root) certificate.
  2. Matches the requested domain name.

Most of the developers wont implement proper SSL pinning mechanism which would sometime allow us to bypass the SSL Pinning mechanism by patching the instances where SSLPinning is implemented.

Another simple method to bypass SSL pinning is by Using a tool called “Android TrustKiller” developed by iSECPartners.

This tool uses Cydia Stubstrate to hook various methods in order to bypass certificate pinning by accepting any SSL Certificate.

To use this tool first you need to install

  1. Cydia Substrate available in android play store.
  2. Then Install apk available in Android TrustKiller

After installing Cydia Substrate and Android TrustKiller open Cydia substrate and select “Link Substrate files” and thats it ! now you will be able to intercept the SSL traffic even if SSL Pinning is implemented.

Get IoT Security Training

IoT Pentesting Exploitation Training


Android android application security android hands on security and exploitation training android security Apktool application auditing application security auditing appsec usa appwatch attify attify badge attify training binwalk blackberry pentesting blackhat ble BLE hacking and exploitation BLE sniffing box brut Exception chroot cloud based mobile application security scanner consulting CTF Damn Vulnerable iOS App devops dumping memory embedded hacking exploitation exploiting smart devices Firmware hacking frida hackfest hacking smart devices how to secure iot device IDA internet of things Internet of Things Security ios application security ios security iot iot device IoT Exploitation iot hacking iot pentest iot pentesting iot security iot security training iotsecurity jtag jtag debugging mobile app mobile application security mobile application security testing mobile security ninja recon technique offensive iot exploitation ola cabs owasp owasp appsec penetration testing pentesting pentesting mobile apps powerofcommunity PrinterSecurity qemu quizup radio communication protocol radio coomunication Reversing sdr secure coding guidelines security security issue security services security training security vulnerability smart devices social networking spi threat modeling training uart vulnerability writeups xposed hooking zigbee zigbee exploitation zigbee security zwave firmware reverse engineering firmware emulation firmware analysis toolkit firmadyne getting started with firmware hacking iot penetration testing iot attacks recent iot attacks cyber attacks iot hacks biggest iot attacks of all time hacked smart devices iot bots, malwares latest iot attacks BtleJuice bleah retail iot challenges in iot retail security issues faced by e-retailers network security in retail DDoS attacks phishing attacks how retail can prevent cyber attacks security challenges in retail IoT Flare-on radio waves hacking arduino nano how to hack radio waves analog modulation digital modulation capture radio traffic bluetooth technology BLE vulnerabilities BLE attacks BLE dangers BLE security issues exploiting ble how to exploit ble tools to exploit ble privacy protection iot threats protect against iot threats dangers of iot smart user security how to protect iot devices monitor iot devices internet security safety measures to protect privacy healthcare iot iot threats to healthcare industry how can healthcare fight iot threats healthcare cyber security prevent cyber attacks on healthcare measures to prevent cyber attacks on healthcare organisations steps to prevent iot attacks on healthcare healthcare business protection against iot threats security in healthcare iot recent cyber attacks recent ARM attacks ARM course ARM Training ARM binaries Exploit ARM devices IoT hacks on ARM devices ARM gadgets learn ARM exploitation Mirai Botnet vulnerable ARM devices arm ARM exploitation book ARM exploitation video training guide to ARM exploitation cybersecurity why you should be a cybersecurity expert professional expert career in cybersecurity why choose career in cybersecurity growth potential penetration testers hackers profession What is a Mirai Botnet? virus How Mirai botnet infects your device Understanding Mirai Botnet How Mirai works setup mirai history IoT Devices What is mirai botnet? IP cameras security cameras CCTV cameras hacked security IP cameras surveillance cameras hijacked vulnerabilities in internet connected cameras recent security camera attacks vulnerabilities discovered in popular IoT IP cameras IoT security guidelines Mozilla NIST GSMA best security practices automotive security V2V V2I Car security ECU hacking GozNym Bank account hack customer privacy banking malware